持续更新中 …
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;
4,多进程之间 AIDL 通信,可能会报错 DeadObjectException,需要使用 DeathReception 来监听 binder 是否有效;
3,targetSDK > 21后,通知栏小 icon ,不能有 RGB 图层;
2,在部分手机上会出现回调 onStop、onDestory 慢的情况,可能原因:上个页面有动画在执行,内存泄漏;
- 解决方案:在 onPause 的时候判断是否 isFinishing(),去销毁自己的数据。