在爲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. Erlang:應用程序行爲陷阱SIGTERM?
- 3. C++程序員有哪些常見的Java陷阱/陷阱?
- 4. 從MS Access的空陷阱的陷阱
- 5. 陷阱
- 6. 應用程序級別的.NET錯誤陷阱?
- 7. 不發送所有SNMP陷阱的應用程序
- 8. 有關多語言應用程序陷阱的信息
- 9. @Autowired和線程的陷阱
- 10. android ndk調試陷阱
- 11. 軟件陷阱vs硬件陷阱
- 12. FileSystemWatcher的陷阱
- 13. ReSharper的陷阱
- 14. 跟蹤/ BPT陷阱:5周運行的Grails 2.1.0應用程序 - 跟蹤/ BPT陷阱:5
- 15. 中止陷阱:6在C程序
- 16. Java SNMP4J陷阱應用程序正在凍結GUI
- 17. ASP.NET應用程序套件開發 - 陷阱
- 18. 將區域添加到MVC應用程序 - 任何陷阱?
- 19. 調用ToString()陷阱
- 20. 解析陷阱
- 21. 春季陷阱
- 22. PyThreadState_SetAsyncExc陷阱?
- 23. 擊:陷阱
- 24. Java JIT陷阱
- 25. 形式 - 陷阱
- 26. SetTimer()陷阱
- 27. 陷阱寫的RubyGems
- 28. Thread.local的陷阱[:current_user]
- 29. Android上常見的性能陷阱?
- 30. 試圖單步通過程序與陷阱國旗和陷阱信號處理程序,崩潰vsyscall
不要忘記將Positronic Brain模塊中的邪惡位設置爲0. – Powerlord 2009-08-24 13:14:48
如果您想在後臺運行而不關閉,則必須在通知欄中放置通知。 – Christian 2010-10-16 10:55:10