在爲Android編程時是否存在缺陷或要記住的要點?我認爲列表將包括多線程,持久存儲等主題。Android應用程序的陷阱
回答
由於保留了上下文引用,Android開發人員對於avoiding memory leaks有很好的帖子。還有很多其他有趣的帖子。
我不會稱他們爲陷阱本身,但始終記住要考慮到,這不是一臺插入牆上的計算機,可以只是以各種方式升級。你有一個大約每兩年的升級週期(這幾天標準移動合同的長度),硬件是(A)在那段時間內不是最快和(B)是靜態的。
事情需要考慮:
1)怎樣的東西您的應用程序不會影響電池的壽命?你是否在所有地方潑鮮明亮的圖像?在後臺運行很多線程?服務?
2)您的應用程序需要佔用多少空間?信息是否可以保存在服務器上,並僅在需要時才傳輸到設備以供臨時使用?
3)關於#2,您的應用程序是否可以容忍壞/不存在的網絡/移動連接?它在EDGE網絡上對3G表現如何?
我相信你可以想出更多,但這是我在寫我的應用程序時記住的內容。
這裏可以說很多事情。
來自Google I/O 2009的Android視頻涵蓋了在Android上編程時應牢記的大部分方面。實際上,http://android-developers.blogspot.com/文章是這些演示文稿擴展的來源,並且可以從一些最好的Google工程師那裏看到這些文章的說明(並且作爲獎勵您會得到一個Q &一節),這對於每個Android開發人員都是必需的, IMO。
一些可能被提及的事情:
不要使用浮點數,當你可以實現類似的結果與整數,因爲Android不具備浮點值的原生支持。使用調試工具可以優化性能和可維護性,並避免像UI設計中ViewGroup冗餘這樣的常見缺陷,或者對較重的方法(View.inflate(),findViewById(),setImageResource() ))。
捆綁你的後臺服務呼叫,否則你是不必要的,過於頻繁醒來的OS,而冒着其他服務揹負你的電話(這會導致嚴重降低電池壽命)
身高SAX的解析器在DOM的解析器,你失去的時間,同時實現了,但是你贏得你的應用程序的性能(和你的設備的可用性)的時間
保持你的UI操作上你的UI線程,因爲界面工具包不是線程安全的
請記住,方向的變化會破壞並重新創建你的活動(我瞭解到,艱難和痛苦的方式 - 這就是我開始跟隨Android的開發者博客)
...等等。
- 1. 從Java應用程序發送陷阱
- 2. C++程序員有哪些常見的Java陷阱/陷阱?
- 3. 從MS Access的空陷阱的陷阱
- 4. 陷阱
- 5. 不發送所有SNMP陷阱的應用程序
- 6. 應用程序級別的.NET錯誤陷阱?
- 7. @Autowired和線程的陷阱
- 8. 軟件陷阱vs硬件陷阱
- 9. 中止陷阱:6在C程序
- 10. ASP.NET應用程序套件開發 - 陷阱
- 11. 將區域添加到MVC應用程序 - 任何陷阱?
- 12. Java SNMP4J陷阱應用程序正在凍結GUI
- 13. 調用ToString()陷阱
- 14. Java JIT陷阱
- 15. 春季陷阱
- 16. SetTimer()陷阱
- 17. 形式 - 陷阱
- 18. PyThreadState_SetAsyncExc陷阱?
- 19. 陷阱寫的RubyGems
- 20. Android上常見的性能陷阱?
- 21. xamarin.forms android應用程序陷入部署
- 22. 試圖單步通過程序與陷阱國旗和陷阱信號處理程序,崩潰vsyscall
- 23. 使用valgrind的C程序的浮點陷阱
- 24. .NET中ClickOnce /智能客戶端部署的陷阱/陷阱
- 25. 中止陷阱6用C
- 26. GTK#常見陷阱
- 27. 安卓:AlarmManager陷阱
- 28. 陷阱退格鍵
- 29. rmi回調陷阱?
- 30. 陷阱WM_SETFOCUS消息
不要忘記將Positronic Brain模塊中的邪惡位設置爲0. – Powerlord 2009-08-24 13:14:48
如果您想在後臺運行而不關閉,則必須在通知欄中放置通知。 – Christian 2010-10-16 10:55:10