Android 开发踩坑记

持续更新中 …

13,有时候 Animation 结束没有回调 onAnimationEnd ;https://stackoverflow.com/questions/5474923/onanimationend-is-not-getting-called-onanimationstart-works-fine
  • 解决方案:建议加上超时保护 或 通过 postDelay 替代 onAnimationEnd;

12,播放动图的时候,尺寸较小或者帧数较少时,可以用 AnimationDrawable;不然低端机可能会OOM;

11,在 Activity 中弹出 Dialog 时,使用不当会出现 BadTokenException 崩溃;
  • 解决方案:尽量使用 DialogFragment;

10,在 Android 5.0 (API level 21) 以下机器上, drawable xml 资源中引用 attr , 如果在 layout 布局中引用这样的 drawable 资源, 则会引发崩溃

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(),去销毁自己的数据。

1,全屏会导致 adjustResize 无效;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章