持续更新中 …
20,工程明明加了 multiDexEnabled true,还是报错 multiDexList;或者 classes in the main-dex file (# methods: 72204 > 65536)
- 解决方案:
- 因为第一个主 dex 就已经超标了,加混淆。如果加过了,修改混淆;
- 修改 minSdkVersion 到 21;这个得看产品是否答应。
19,桌面 Icon 替换了,但是在某些手机(Vivo,小米有缓存 Icon)没生效;
- 解决方案:
- 修改 Manifest里面的 Launcher Activity 的 android:icon 属性
18,targetSDK >= 26之后,startService 有时候会崩溃,因为 8.0 之后不允许后台服务了;
- 解决方案:
- 用 JobIntentService | JobService(推荐)
- 改用 startForegroundService
17,targetSDK >= 21之后,WebView 需要开启第三方 Cookie 的支持;
if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
CookieManager.getInstance().setAcceptThirdPartyCookies(this, true);
}
16,TargetSDK升级到26,在部分8.0手机上,调起系统安装器,需要添加 REQUEST_INSTALL_PACKAGES 权限
15,部分手机输入法(华为P9),EditText设置软键盘监听时不回调监听;
- 解决方案:Xml属性加上 android:inputType=“text”
14,对话框样式建议继承 Theme.AppCompat.Light.Dialog
13,有时候 Animation 结束没有回调 onAnimationEnd ;https://stackoverflow.com/questions/5474923/onanimationend-is-not-getting-called-onanimationstart-works-fine
- 解决方案:建议加上超时保护 或 通过 postDelay 替代 onAnimationEnd;
12,播放动图的时候,尺寸较小或者帧数较少时,可以用 AnimationDrawable;不然低端机可能会OOM;
- 解决方案:
- 自定义 View 实现动画;(推荐)
- Lottie;参考 https://www.jianshu.com/p/9a2136ecbc7b ;(推荐)
- Gif ,或者一些第三方库; 参考 https://blog.csdn.net/qq_16445551/article/details/53367173 ;
11,在 Activity 中弹出 Dialog 时,使用不当会出现 BadTokenException 崩溃;
- 解决方案:尽量使用 DialogFragment;
10,在 Android 5.0 (API level 21) 以下机器上, drawable xml 资源中引用 attr , 如果在 layout 布局中引用这样的 drawable 资源, 则会引发崩溃
- 解决方案:Java 代码设置,参考 https://blog.csdn.net/liuxu0703/article/details/62243597
9,singleline 在 ListView 中效率不高, 滑动滞后,但是 maxline , ellipsize 并不能完美替代 singleLine。毕竟 singleline 会过滤回车。所以有些时候还是要用 singleLine;
8,获取动态壁纸信息 WallpaperManager.getWallpaperInfo() 可能会崩溃,系统内部空指针,需要 tray|catch
7,行间距属性 android:lineSpacingExtra,在5.0以下,就算设置了 maxLine=1 或者 singleLine=true,底部也会有对应的 xx dp,看着不居中;
6,跟 Activity 相关的异步操作,可以尝试用3.0之后出的 Loader,可以避免很多内存泄漏问题;
5,Viewpager中子 view 持有焦点会诱发卡顿问题;有必要减少使用 Button 之类会自动获取焦点的 View;
- 解决方案:http://blog.csdn.net/edisonchang/article/details/49816319
4,多进程之间 AIDL 通信,可能会报错 DeadObjectException,需要使用 DeathReception 来监听 binder 是否有效;
3,targetSDK > 21后,通知栏小 icon ,不能有 RGB 图层;
- 解决方案:https://cloud.tencent.com/developer/article/1015968
2,在部分手机上会出现回调 onStop、onDestory 慢的情况,可能原因:上个页面有动画在执行,内存泄漏;
- 解决方案:在 onPause 的时候判断是否 isFinishing(),去销毁自己的数据。
1,全屏会导致 adjustResize 无效;
- 解决方案:监听软键盘状态,自己修改布局,https://juejin.im/entry/584274d70ce4630057712697