1、OnCreate():可以做一些預(yù)處理的UI相關(guān)的工作
1)、實(shí)例化組件并將它們放置在屏幕上(measure、layout和draw)
2)、應(yīng)用已經(jīng)實(shí)例化的組件
3)、為組件設(shè)置監(jiān)聽(tīng)器來(lái)處理用戶(hù)交互
4)、訪(fǎng)問(wèn)外部模型數(shù)據(jù)
2、在Activity里面的生命周期中都是@override注解(why)
要求編譯器保證當(dāng)前類(lèi)擁有你要覆蓋的方法
3、設(shè)備旋轉(zhuǎn)為何會(huì)重新創(chuàng)建Activity
旋轉(zhuǎn)設(shè)備會(huì)改變?cè)O(shè)備配置(device configuration),設(shè)備配置實(shí)際上是一系列特征集合,用來(lái)描述當(dāng)前狀態(tài),特征:屏幕方向、屏幕像素密度、屏幕尺寸、鍵盤(pán)類(lèi)型、底座模式和語(yǔ)言等等。銷(xiāo)毀當(dāng)前的Activity并創(chuàng)建新的Activity,其實(shí)就是為了用更合適的資源來(lái)匹配新的設(shè)備配置。
4、Activity的暫存狀態(tài)和保存數(shù)據(jù)
Android不會(huì)為了回收內(nèi)存,去銷(xiāo)毀一些可見(jiàn)的activity(處于暫?;蜻\(yùn)行狀態(tài)),只有調(diào)用過(guò)onStop()并執(zhí)行完畢后,activity才會(huì)被標(biāo)記銷(xiāo)毀,并且在 停止之前會(huì)調(diào)用onSaveInstanceState(Bundle),可以在這里做一些保存小的或者暫存的數(shù)據(jù),在onStop保存永久性數(shù)據(jù)。暫存的activity記錄被清除在按了后退鍵或者系統(tǒng)重啟。
5、activity內(nèi)存清理現(xiàn)狀
低內(nèi)存狀態(tài)下,Android直接從內(nèi)存清楚整個(gè)應(yīng)用進(jìn)程。
6、R類(lèi)報(bào)錯(cuò)解決方式:
1)、重新檢查資源文件中XML文件的有效性
2)、清理項(xiàng)目,clean project
3)、使用Gradle同步項(xiàng)目,sync project with gradle
4)、運(yùn)行Android? Lint
7、布局檢查器:layout inspector
8、內(nèi)存分配跟蹤:Monitor工具窗口,點(diǎn)擊