日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

Android 常見bug匯總及解決方案

瀏覽:81日期:2022-09-20 11:54:04

作為開發人員,平時總會遇到各種各樣的問題,之前都沒有收集bug的習慣,遇到相同的問題總會有種莫名的熟悉感,或許把問題都匯總,方便查找,也可以給大家踩踩坑,后面會陸續更新補充!

1、關于使用OkHttp運行時出現的錯誤

報錯如下:

Static interface methods are only supported starting with Android N (--min-api 24): okhttp3.Request okhttp3.Authenticator.lambda$static$0(okhttp3.Route, okhttp3.Response)

大概意思就是靜態接口方法只從Android N開始使用。

解決方案:

因為靜態接口需要在Java 8 下才支持使用,所以我們要使用靜態接口,就需要在app的build.gradle文件中配置聲明,使用Java 8編譯。

所以需要加入以下代碼來聲明:

compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 }

修改如下圖所示:

Android 常見bug匯總及解決方案

添加完成以后,同步一下,然后重新運行項目就可以啦。

2、圖片輪播控件com.youth.banner使用Glide異步加載圖片時發生的崩潰

錯誤信息:

java.lang.IllegalArgumentException: You cannot start a load for a destroyed activity at com.b.a.e.m.b(RequestManagerRetriever.java:311) at com.b.a.e.m.a(RequestManagerRetriever.java:130) at com.b.a.e.m.a(RequestManagerRetriever.java:114) at com.b.a.d.c(Glide.java:697) at com.company.h5.c.ag$b.a(MainFragment.java:1079) at com.company.h5.c.ag$b.displayImage(MainFragment.java:1063) at com.youth.banner.Banner.setImageList(Banner.java:354) at com.youth.banner.Banner.start(Banner.java:262)

根據錯誤信息找到發生閃退的代碼位置:

//自定義的圖片加載器 private class ImgLoader extends ImageLoader { @Override public void displayImage(Context context, Object path, ImageView imageView) { RoundedCorners roundedCorners = new RoundedCorners(20); RequestOptions options = new RequestOptions().bitmapTransform(roundedCorners); //報錯地方 Glide.with(context).load((String) path).apply(options).into(imageView); } }

跟蹤日志進入Glide調用的地方發現,出現在

RequestManagerRetriever.assertNotDestroyed()

方法中:

@TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR1) private static void assertNotDestroyed(Activity activity) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1 && activity.isDestroyed()) { throw new IllegalArgumentException('You cannot start a load for a destroyed activity'); } }

這個錯誤是使用Glide異步加載圖片的時候,Activity已經Destroyed

解決方案:

1、在使用Glide加載圖片前,先進行Activity是否Destroy的判斷:

/** * 判斷Activity是否Destroy * @param activity * @return */ public static boolean isDestroy(Activity mActivity) { if (mActivity== null || mActivity.isFinishing() || (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1 && mActivity.isDestroyed())) { return true; } else { return false; } }

2、在錯誤的位置進行替換:

//自定義的圖片加載器 private class ImgLoader extends ImageLoader { @Override public void displayImage(Context context, Object path, ImageView imageView) { //添加判斷 if(!isDestroy((Activity)context)){ RoundedCorners roundedCorners = new RoundedCorners(20); RequestOptions options = new RequestOptions().bitmapTransform(roundedCorners); Glide.with(context).load((String) path).apply(options).into(imageView); } } }

這樣就解決啦。

3、接入容聯七陌客服系統,進入客服界面時閃退問題

錯誤信息:

Android 常見bug匯總及解決方案

圖片看起來不清晰,看報錯代碼:

java.lang.NoSuchMethodError: No virtual method into (Landroid/widget/ImageView;)Lcom/bumptech/glide/request/target/Target; in class Lcom/a/a/i; or its super classes (declaration of ’com.a.a.i’ appears in/data/app/com.sami91sami.h5-1/base.apk)

我們可以根據報錯,跳到報錯的地方:

Android 常見bug匯總及解決方案

該報錯的意思就是:沒有

into(Landroid/widget/ImageView)

的方法,代碼能編譯通過,說明項目中肯定是添加依賴了,那怎么還會報這個錯誤呢?還沒添加依賴之前,項目中也是使用的Glide進行圖片的加載,會不會是項目中的Glide與容聯Demo中的Glide有沖突呢。

我們可以根據報錯的地方into方法,點進入看源碼:

Android 常見bug匯總及解決方案

可以看到容聯Demo使用的Glide版本是3.7.0。

再來看看項目中Glide使用的版本:

Android 常見bug匯總及解決方案

可以看到項目中使用的Glide版本是4.5.0。

這時就想到真的很大概率是兩者的Glide版本有沖突了。

果然將容聯Demo中的Glide版本改成4.5.0之后,編譯運行進入客服界面后,沒有報錯了,完美解決。

4、android 7.0系統解決拍照的問題

報錯信息:

# main(1)android.os.FileUriExposedExceptionfile:///storage/emulated/0/xiangmu/3462884.jpg exposed beyond app through ClipData.Item.getUri()android.os.StrictMode.onFileUriExposed(StrictMode.java:1816)android.net.Uri.checkFileUriExposed(Uri.java:2350)

解決方法如下:

1.在相對應的頁面中,寫如下的方法:

private void initPhotoError(){ // android 7.0系統解決拍照的問題 StrictMode.VmPolicy.Builder builder = new StrictMode.VmPolicy.Builder(); StrictMode.setVmPolicy(builder.build()); builder.detectFileUriExposure(); }

2.在onCreate中調用上述的方法。

5、使用RecyclerView滑動閃退問題

錯誤信息:

Android 常見bug匯總及解決方案

圖片看起來不清晰,看報錯代碼:

IndexOutOfBoundsException: Inconsistency detected. Invalid view holder adapter

看這個代碼,只是并沒有報到我們自己的代碼里面來,在底層就崩潰了,在app層面并沒有,彈出一個框,說應用程序已奔潰,而是直接就沒了,用戶感覺很奇怪。這種異常并不是很容易出現,而是偶爾出現,我的也是在后臺奔潰日志中,發現了這種異常,我們自己都不知道什么地方報錯的。

解決方案如下:

1、創建一個類LinearLayoutManagerWrapper

繼承LinearLayoutManager,重寫onLayoutChildren方法

public class WrapContentLinearLayoutManager extends LinearLayoutManager { public WrapContentLinearLayoutManager(Context context) { super(context); } public WrapContentLinearLayoutManager(Context context, int orientation, boolean reverseLayout) { super(context, orientation, reverseLayout); } public WrapContentLinearLayoutManager(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) { super(context, attrs, defStyleAttr, defStyleRes); } @Override public void onLayoutChildren(RecyclerView.Recycler recycler, RecyclerView.State state) { try { super.onLayoutChildren(recycler, state); } catch (IndexOutOfBoundsException e) { e.printStackTrace(); } } }

2、設置RecyclerView的布局管理為

WrapContentLinearLayoutManager對象

mRecyclerView.setLayoutManager(new WrapContentLinearLayoutManager(this, LinearLayoutManager.VERTICAL, false));

其實這也不是什么解決方案,只是把這個異常捕獲了,不讓他奔潰了,這個問題的終極解決方案還是得讓google去修復。

以上就是Android 常見bug匯總及解決方案的詳細內容,更多關于Android 常見BUG及解決的資料請關注好吧啦網其它相關文章!

標簽: Android
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
日韩国产激情| 五月天久久777| 亚洲日本在线观看视频| 日韩一区精品视频| 日韩制服丝袜av| 日韩一区精品字幕| 亚洲精品在线二区| 日本国产一区| 首页欧美精品中文字幕| 国产精品美女久久久浪潮软件| 激情综合网五月| 日韩视频在线一区二区三区 | 免费一区二区三区在线视频| 久久av影视| 激情视频网站在线播放色| 日韩88av| 欧美一区二区三区高清视频| 亚洲高清二区| 人人精品人人爱| 欧美伊人影院| 国产精品黄色片| 精品中文字幕一区二区三区| 国产一区调教| 99精品在线免费在线观看| 在线视频精品| 亚洲精品系列| 国产精品.xx视频.xxtv| 国产夫妻在线| 黑丝美女一区二区| 日韩极品在线观看| 风间由美中文字幕在线看视频国产欧美| 中文字幕在线免费观看视频| 蜜桃视频欧美| 日韩va亚洲va欧美va久久| 国产高清日韩| 久久国产电影| 99国产精品私拍| 国产欧美久久一区二区三区| 国产网站在线| 亚洲视频电影在线| 国产成人77亚洲精品www| 久久精品高清| 青青国产精品| 日韩欧美一区二区三区免费看| 亚洲一区中文| 国产精品115| 国产毛片久久| 精品国产美女a久久9999| 激情偷拍久久| 日韩av午夜在线观看| 欧美国产偷国产精品三区| 久久一区二区三区电影| 天堂久久av| 天堂av在线| 亚洲欧美高清| 成人亚洲一区二区| 亚洲色图综合| 精品国模一区二区三区| 亚洲欧洲日韩精品在线| 国产白浆在线免费观看| 亚洲精品免费观看| 欧美不卡高清一区二区三区| 日韩高清国产一区在线| 秋霞影视一区二区三区| 日韩福利视频一区| 国产综合亚洲精品一区二| 日韩精品免费观看视频| 91精品国产成人观看| 国产精品视频一区视频二区| 婷婷亚洲五月色综合| 精品一区二区三区四区五区| 亚洲一级淫片| 欧美日韩在线二区| 国产精品久久久久久av公交车| 欧美特黄一级| 毛片不卡一区二区| 四虎精品一区二区免费| 日韩精品一区二区三区免费观看| 久久精品99国产精品日本| 婷婷综合激情| 日韩不卡一区| 色综合视频一区二区三区日韩| 桃色一区二区| 国产激情久久| 日韩欧美中文字幕电影| 亚洲夜间福利| 福利片在线一区二区| 日韩欧乱色一区二区三区在线| 成人羞羞在线观看网站| 91精品麻豆| 人人爽香蕉精品| 婷婷激情久久| jizzjizz中国精品麻豆| 国产激情久久| 久久精品av麻豆的观看方式| 视频在线观看一区| 亚洲电影有码| 精品网站aaa| 日本午夜精品久久久| 日韩一区二区久久| 久久国产电影| 亲子伦视频一区二区三区| 国产一区丝袜| 久久中文精品| 国产精品一区二区美女视频免费看 | 久久av在线| 国产综合色产| 91看片一区| 都市激情国产精品| 国语对白精品一区二区| 久久99久久久精品欧美| 日韩精品社区| 日韩高清电影一区| 日韩精品中文字幕一区二区| 欧美专区18| 视频在线观看国产精品| 夜夜嗨一区二区| 亚洲免费精品| 国产一区二区高清| 99国产精品99久久久久久粉嫩| 激情综合网站| 日韩午夜在线| 亚洲一区二区三区免费在线观看| 999国产精品视频| 亚洲特级毛片| 欧美日韩激情在线一区二区三区| 久久亚洲国产| 99在线观看免费视频精品观看| 在线午夜精品| 亚洲丝袜啪啪| 日韩精品a在线观看91| 久久精品99国产精品日本| 国产调教精品| 国产精品久久久久久模特| 国产精品免费99久久久| 免费日韩成人| 欧美丰满日韩| 成人自拍av| 亚洲欧美伊人| 亚洲一区黄色| 日韩精品久久久久久| 国产精品一区二区三区av| 黄色精品视频| 免费av一区| 在线一区二区三区视频| 亚洲视频二区| 久久黄色影视| 激情综合婷婷| 婷婷精品进入| 91嫩草精品| 国产色播av在线| 国产精品女主播一区二区三区| 亚洲一区有码| 国产精品高清一区二区| 欧美xxxx中国| 午夜国产精品视频免费体验区| 视频一区二区三区在线| 欧美日韩一区二区国产| 久久精品三级| 欧美精选一区二区三区| 亚洲三区欧美一区国产二区| 青青草伊人久久| 国产成人精品三级高清久久91| 亚洲高清二区| 日韩中文av| 韩国女主播一区二区三区| 亚洲一级影院| 蜜桃av一区二区三区电影| 欧美天堂在线| 欧美一区久久久| 国产免费成人| 欧美国产精品| 午夜精品免费| 欧美经典一区| 视频一区中文| 国产精品一区高清| 国产综合婷婷| 国产欧美日韩精品一区二区三区| 亚洲不卡系列| 日韩av网站在线免费观看| 美女av在线免费看| 亚洲欧美视频| 欧美国产先锋| 99视频一区| 精品国产一区二区三区av片| 久久高清免费观看| 精品国产一区二区三区2021| 久热精品在线| 综合日韩av| 欧美一级一区| 欧美大黑bbbbbbbbb在线| 国产劲爆久久| 亚洲精品少妇| 香蕉人人精品| 久久这里只有| 亚洲综合中文| 亚洲福利专区| 里番精品3d一二三区| 亚洲欧美日韩国产| 日韩欧美字幕|