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

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

Android 常見bug匯總及解決方案

瀏覽:78日期: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久久,三上悠亚国产精品一区二区三区
国产精品色网| 99久久婷婷| 久久久一二三| 亚洲欧美不卡| 免费久久99精品国产自在现线| 亚洲一级网站| 国产精品社区| 国产欧美三级| 国产一区2区| 97精品国产| 亚洲国产专区校园欧美| 老鸭窝毛片一区二区三区| 蜜臀久久久久久久| 欧美一区二区三区免费看| 久久久免费人体| 日韩精品电影| 1024精品久久久久久久久| 亚洲图片久久| 国产欧美一区二区三区国产幕精品| 精品一区二区三区免费看| 久久精品国产68国产精品亚洲| 丝袜美腿一区二区三区| 97精品资源在线观看| 精品视频在线观看网站| 国产成人精品一区二区免费看京| 99精品综合| 午夜久久av| 国产999精品在线观看| 国产伊人精品| 玖玖玖国产精品| 日韩精品一区二区三区中文在线 | 999国产精品999久久久久久| 激情综合网站| 国产剧情在线观看一区| 亚洲精品在线观看91| 国产精品qvod| 午夜影院欧美| 国产精品丝袜在线播放| 精品一区欧美| 久久国产66| 日韩欧美在线中字| 悠悠资源网久久精品| 91精品一区二区三区综合在线爱| 国产精品igao视频网网址不卡日韩 | 青青国产91久久久久久| 91av亚洲| 日韩精品免费视频人成| 人人香蕉久久| 欧美国产中文高清| 视频一区二区不卡| 亚洲人成在线影院| 麻豆国产精品一区二区三区| 久久精品国内一区二区三区水蜜桃| 麻豆国产在线| 99久久99久久精品国产片果冰| 美女精品在线| 精品中文字幕一区二区三区四区| 欧美日韩国产高清电影| 中文精品电影| 亚洲精品99| 桃色av一区二区| 国产99久久久国产精品成人免费| 一区二区国产在线观看| 久久九九电影| 国产精品18| 麻豆精品在线观看| 日韩激情综合| 日本少妇精品亚洲第一区| 五月天久久久| 国产v综合v| 精品视频97| 国产乱人伦精品一区| 三级亚洲高清视频| 亚洲一本视频| 国产精品午夜av| 夜夜精品视频| 久久久国产精品一区二区中文| 精品视频自拍| 免费一级欧美片在线观看网站| 亚洲欧美久久精品| 亚洲激情婷婷| 欧美1区免费| 久久一区二区三区电影| 高清不卡一区| 福利一区和二区| 国产精品欧美在线观看| 亚洲精品第一| 日韩一区精品| 日本亚洲欧美天堂免费| 蜜桃伊人久久| 亚洲免费精品| 91精品1区| 亚洲一区二区免费看| 亚洲精华国产欧美| 午夜一区在线| 日韩国产在线观看| 日韩av网站在线免费观看| 亚洲精品在线二区| 日韩在线卡一卡二| 免费在线观看一区二区三区| 免费日韩av片| 婷婷综合福利| 日韩激情av在线| 国产精品嫩草影院在线看| 国产欧美日韩一级| 欧美激情视频一区二区三区免费| 麻豆成人91精品二区三区| 精品九九久久| 国产高清不卡| 亚洲福利久久| 亚洲免费影视| 欧美性www| 高清不卡亚洲| 99视频一区| 日韩视频一二区| 国产精久久久| 成人羞羞在线观看网站| 精品一区在线| 亚洲一级大片| 婷婷亚洲精品| 精品一区二区三区亚洲| 国产精品成人一区二区不卡| 激情久久婷婷| 一级成人国产| 伊人影院久久| 97久久超碰| 欧美在线日韩| 蜜桃91丨九色丨蝌蚪91桃色| 国产精品高颜值在线观看| 日本欧洲一区二区| 亚洲一区二区成人| 精品一区二区男人吃奶 | 欧美成人精品一级| 黄色成人精品网站| 精品久久97| 黄色网一区二区| 久色成人在线| 久久国产欧美日韩精品| 久久中文亚洲字幕| 国内亚洲精品| 99久久久久久中文字幕一区| 久久精品在线| 福利一区二区| 亚洲综合另类| 免费亚洲婷婷| 伊人久久亚洲美女图片| 日韩精品一区二区三区中文在线 | 欧美伊人影院| 欧美日韩中文字幕一区二区三区 | 亚洲成人一区在线观看| 日韩在线观看中文字幕| 在线一区av| 亚洲美女久久| 中文字幕一区久| 蜜桃久久av| 精品国产第一福利网站| 日韩精品免费观看视频| 99久久夜色精品国产亚洲狼 | 国产二区精品| 鲁大师精品99久久久| 久久成人国产| 欧美日韩视频网站| 国产亚洲一卡2卡3卡4卡新区| 亚洲女同一区| 久久久久久婷| 日本久久一区| 91精品国产自产在线观看永久∴ | 国产成年精品| 日本伊人午夜精品| 久久在线电影| 精品一区二区三区免费看| 在线精品一区| 香蕉精品久久| 精品99在线| 欧美精品97| 欧美在线首页| 自拍自偷一区二区三区| 亚洲激情中文在线| av高清不卡| 久久99蜜桃| 日韩黄色免费网站| 久久成人精品| 五月天久久久| 久久久成人网| 岛国av在线网站| 久久97视频| 国产精品久久国产愉拍| 亚洲三级精品| 国产美女精品| 欧美精品黄色| 欧美亚洲国产激情| 久久男人av资源站| 精品久久久网| 九九99久久精品在免费线bt| 四虎精品一区二区免费| 亚洲欧美网站| 中文精品电影| 亚洲欧美日韩国产一区二区| 欧美不卡在线| 免费在线观看不卡|