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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Android Activity的基本理解Android
- 設計模式個人理解(一)設計模式
- 如何通俗理解設計模式及其思想?設計模式
- 深入理解Android 之 Activity啟動流程(Android 10)Android
- Android中Context、Activity、ApplicatioAndroidContextAPP
- 深入理解OkHttp原始碼及設計思想HTTP原始碼
- [Android]關閉所有Activity,開啟某個ActivityAndroid
- PHP 簡單的幾個設計模式(個人理解)PHP設計模式
- 《深入理解Android核心設計思想(第2版)(上下冊)》之Android原始碼下載及編譯Android原始碼編譯
- 程式設計中的自頂向下設計思想程式設計
- [譯]在 Flutter 中如何設計 Activity 介面?Flutter
- Android--關閉某個指定activityAndroid
- 深入 Go 的錯誤處理機制,理解設計思想Go
- ()Android中的Activity建立與週期Android
- Android之android:theme設定在Application 和 Activity的區別AndroidAPP
- 看完這篇,真正理解JS物件導向程式設計思想JS物件程式設計
- 徹底理解OkHttp - OkHttp 原始碼解析及OkHttp的設計思想HTTP原始碼
- Kafka 的設計思想Kafka
- Android中Activity的四種啟動方式Android
- 程式設計思想 面向切面程式設計程式設計
- 通用查詢設計思想
- 一個Activity顯示多個Activity
- java中傳值方式的個人理解Java
- 將一個Activity中的資料傳到另一個Activity的Fragment中的方法Fragment
- Android Activity生命週期Android
- Android之Activity全面解析Android
- 仿寫Android的ActivityAndroid
- Android Activity那點事Android
- Map-Reduce 思想在 ABAP 程式設計中的一個實際應用案例程式設計
- RESTful 個人理解REST
- 基於中臺思想的物流系統設計(一)
- 【程式設計素質】程式設計思想總結程式設計
- 設計模式--原型模式及其程式設計思想設計模式原型程式設計
- 程式設計思想 物件導向程式設計物件
- Mobx 原始碼與設計思想原始碼
- JAVA語言程式設計思想Java程式設計
- 《深入理解SpringMVC思想》SpringMVC
- Android基礎-Activity基本使用Android