持續更新中 …
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(),去銷燬自己的數據。