當前位置:編程學習大全網 - 源碼下載 - 安卓開發需要註意什麽?

安卓開發需要註意什麽?

1,不排斥新技術新工具。

Android Studio 1.0版本基本足夠穩定,支持正常工作開發。就寫作效率而言,Android Studio帶來的收益肯定大於Android Studio和Gradle的學習成本。JetBrains的IDE,曾經說是。

targetSdkVersion也有適當的升級到新版本。

2.代碼設計的問題,大部分都可以在Android系統的源代碼中找到。

當妳想設計壹個新的模塊或者實現壹個新的ui組件的時候,妳可以參考Android系統的源代碼,了解如何實現。谷歌為Android程序員提供了現成的寶庫。

3.了解Android和Java的內存管理方法,至少了解垃圾回收和Java引用。

就像學習OC,首先要明白黃金法則,java的內存管理其實比OC好很多。

這可能會幫助您大大減少程序異步操作導致的空指針崩潰。它還將幫助您理解為什麽濫用單例模式會導致內存膨脹。它還會幫助妳養成壹個不用“+”連接非常大的字符串的好習慣。

4.ContentProvider不僅對跨進程共享數據有用。將數據庫表映射到壹個獨立的uri是Google鼓勵的壹種實現。

從設計的角度來說,用uri(統壹資源標識符)來描述數據肯定比sql語句好。

從效果上來說,用CursorLoader讀取數據是iOS程序員羨慕的。作為安卓程序員,為什麽不用呢?

5.了解活動任務堆棧。

如果非活動上下文對象直接啟動活動,會報錯,這只是表面現象。真正起作用的是活動任務棧機制。

了解活動任務棧的機制和活動的各種啟動方式,有助於解決大部分頁面關系紊亂的問題,以及應用互相脫落、任務欄進入應用、後臺彈出等帶來的各種問題。

6.對於壹些精彩的第三方rom,調用它們的非主流API時可以使用反射。

在適配壹些第三方rom時,調用壹些不在開發環境中,但在運行環境中的方法時,可以使用反射。比如華為的雙卡手機,可能會提供壹個api來獲取第二張SIM卡的信息。如果直接調用,在開發環境下可能無法正常編譯,所以使用反射是沒有問題的。這是壹種把反思作為最後手段的情況。

7.SQLite的鎖是數據庫級鎖,這意味著同壹個數據庫的寫操作不能並發執行。

所以在設計數據庫的時候,如果表太多,盡量把不相關的表拆分成多個數據庫文件。

8.位圖的內存占用問題。

這是壹個困擾android程序員的問題。x時代。

2.雖然X時代的位圖對象存儲在堆內存中,但是它使用壹個字節數組來存儲它的像素信息。像素信息的參考次數由計數器記錄。有人以為這個字節數組在原生堆裏,其實也在堆裏。

只有在用戶調用recycle()後,位圖對象才會釋放像素信息,並在丟失引用後被垃圾收集機制銷毀。另外,DVM的堆大小有嚴格的閾值,所以在使用大量圖片資源時,極易出現OOM。

通常,解決方案是使用哈希表將位圖對象的軟引用存儲為內存緩存,並在適當的時候丟棄它的recycle()。

3.0版本以上的位圖對象可以通過垃圾收集機制完全銷毀,理論上不需要recycle()。

  • 上一篇:連接包實時源代碼
  • 下一篇:用VB設計壹個計算器
  • copyright 2024編程學習大全網