Android中Activity設計思想個人理解
android四大元件基本上是入門android所必須要學的,在入門階段或許只需要真的這麼執行,知道生命週期,當我們再深入時就會發現四大元件設計的精妙之處
Activity被android設計成一個獨立的部件,並且因此淡化了程式的概念
android希望為使用者提供這樣的功能:由多個 Activity共同配合完成比較複雜的功能,這些 Activity可以來自不同的App
假設說一個功能需要四個Activity,第一個是來自你自己的APP第二個來自系統自帶的APP中的 Activity,第三個是其他APP的 Activity,第四個是你自己的APP,而他們可以無縫使用
因為 Activity要被別人使用,所以在設計頁面時,就不能只考慮僅僅滿足展開的APP中的需求,而要把 Activity封裝的很獨立。這一點可以從 Activity的啟動方式和資料傳遞來體現,按照Java程式設計的思路,假設我們要從一個 Activity傳遞資料到另外一個 Activity 應該用new一個例項,這樣就可以在建構函式中傳遞引數,但是Android中並不被允許這樣做,必須透過intent來啟動,本質上是由系統來建立例項物件
再舉個例子,傳遞資料如果不能使用構造方法,也可以使用靜態變數來直接傳遞啊,但是在APP中 Activity也可以執行在不同的程式
android要求 Activity封裝獨立,除了滿足這種重用性,還有一個原因就是節省記憶體,既然 Activity是功能封閉的,那額android系統就可以隨時殺死看不到的 Activity來釋放記憶體,等到需要哪些 Activity時,重新建立就行,比如說當我們從A到B再到C再到D時發現記憶體不足,系統就可以殺死ABC三個 Activity,等我們需要回到C時,再建立C,這樣對使用者來說其實沒有區別,而對於android系統來說則可以節省很大的記憶體
但是這樣就沒有缺點了嗎?
其實也是有的,比如說
為了功能封閉需要更多的邏輯和程式碼
使 android的 Activity程式碼臃腫佔用更多的記憶體和cpu
切換時每次只要被殺死程式,重新建立就要執行大量的程式碼,尤其是恢復資料時,容易造成介面反應慢、卡
現在的android手機其實效能和記憶體算是有過剩的,但是相比於iOS和windowphone,android手機還是相對較慢的
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69917874/viewspace-2693888/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- jQuery設計思想之理解篇jQuery
- 設計模式個人理解(一)設計模式
- 如何通俗理解設計模式及其思想?設計模式
- Android Activity的基本理解Android
- 深入理解OkHttp原始碼及設計思想HTTP原始碼
- android的元件、Intent及設計思想Android元件Intent
- 程式設計中的自頂向下設計思想程式設計
- Android 程式設計下設定 Activity 切換動畫Android程式設計動畫
- [譯]在 Flutter 中如何設計 Activity 介面?Flutter
- 完全理解android Activity啟動模式LauchMode (深入Activity與任務棧)Android模式
- 深入 Go 的錯誤處理機制,理解設計思想Go
- 【blade的UI設計】理解前端MVC與分層思想UI前端MVC
- 《深入理解Android核心設計思想(第2版)(上下冊)》之Android原始碼下載及編譯Android原始碼編譯
- 深入理解Android 之 Activity啟動流程(Android 10)Android
- android中activity全屏的方法Android
- android夯實總結(設計、細節及思想)Android
- PHP 簡單的幾個設計模式(個人理解)PHP設計模式
- Kafka 的設計思想Kafka
- React程式設計思想React程式設計
- 看完這篇,真正理解JS物件導向程式設計思想JS物件程式設計
- 徹底理解OkHttp - OkHttp 原始碼解析及OkHttp的設計思想HTTP原始碼
- Android中Context、Activity、ApplicatioAndroidContextAPP
- Android的一些設計思想(201603)Android
- iOS 7中的動態焦點設計思想iOS
- Android activity屬性設定大全Android
- Android關於沉浸式的個人理解Android
- 程式設計思想 面向切面程式設計程式設計
- 理解JavaScript中的設計模式JavaScript設計模式
- Android ActivityAndroid
- 通用查詢設計思想
- 淺談程式設計思想程式設計
- 極限程式設計思想程式設計
- 全新MacBook之設計思想Mac
- MapReduce原理與設計思想
- 基於中臺思想的物流系統設計(一)
- ()Android中的Activity建立與週期Android
- Android開發中巧用Activity和FragmentAndroidFragment
- Android中Activity啟動過程探究Android