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 無效;

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