之前在github上更新了些關(guān)于面試類的文章,含有從基礎(chǔ)到進(jìn)階。含有BATJ.字節(jié)跳動(dòng)面試專題,算法專題,高端技術(shù)專題,混合開(kāi)發(fā)專題,java面試專題,Android,Java小知識(shí),到性能優(yōu)化.線程.View.OpenCV.NDK等應(yīng)有盡有。還有輔之相關(guān)的視頻+學(xué)習(xí)筆記
創(chuàng)新互聯(lián)公司專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都做網(wǎng)站、網(wǎng)站建設(shè)、濱湖網(wǎng)絡(luò)推廣、小程序設(shè)計(jì)、濱湖網(wǎng)絡(luò)營(yíng)銷、濱湖企業(yè)策劃、濱湖品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營(yíng)等,從售前售中售后,我們都將竭誠(chéng)為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);創(chuàng)新互聯(lián)公司為所有大學(xué)生創(chuàng)業(yè)者提供濱湖建站搭建服務(wù),24小時(shí)服務(wù)熱線:028-86922220,官方網(wǎng)址:www.cdcxhl.com
https://github.com/xiangjiana/androids
好久沒(méi)更新了,公司電腦太卡了o(╥﹏╥)o。(把所以的知識(shí)+每日一題整理成了份983頁(yè)的PDF)
(更多完整項(xiàng)目下載。未完待續(xù)。源碼。圖文知識(shí)后續(xù)上傳github。)
可以點(diǎn)擊關(guān)于我聯(lián)系我獲取完整PDF
(VX:mm14525201314)
參考回答:
Fragment 從創(chuàng)建到銷毀整個(gè)生命周期中涉及到的方法依次
為:onAttach()
→onCreate()
→onCreateView()
→onActivityCreated()
→onStart()
→onR
→
esume()onPause()
→onStop()
→onDestroyView()
→onDestroy()
→onDetach()
,其中和 Activity 有不少名稱相同
作用相似的方法,而不同的方法有:
onAttach()
:當(dāng) Fragment 和 Activity 建立關(guān)聯(lián)時(shí)onCreateView()
:當(dāng) fragment 創(chuàng)建視圖調(diào)用,在onActivityCreated()
:當(dāng)與 Fragment 相關(guān)聯(lián)的onCreate()
之后調(diào)用;onDestroyView()
:在 Fragment 中的布局被移除時(shí)onDetach()
:當(dāng) Fragment 和 Activity 解除關(guān)聯(lián)時(shí)參考回答:
相似點(diǎn):都可包含布局、可有自己的生命周期
不同點(diǎn):
參考回答:
IllegalStateException
異常;getFragmentManager
、 getSupportFragmentManager
、getChildFragmentManager
之間的區(qū)別?
參考回答:
getFragmentManager()
所得到的是所在 fragment 的 父容器getChildFragmentManager()
所得到的是在getChildFragmentManager();
getFragmentManager()
來(lái)獲取FragmentManager()
對(duì)象,getSupportFragmentManager()
來(lái)FragmentPagerAdapter
與 與 FragmentStatePagerAdapter
的區(qū)別與使用場(chǎng)景參考回答:
相同點(diǎn) :二者都繼承 PagerAdapter
不同點(diǎn) :FragmentPagerAdapter
的每個(gè) Fragment 會(huì)持久的保存在 FragmentManager
中,只要用戶可以返回到頁(yè)面
中,它都不會(huì)被銷毀。因此適用于那些數(shù)據(jù) 相對(duì)靜態(tài)的
頁(yè),F(xiàn)ragment 數(shù)量也比較少的那種;FragmentStatePagerAdapter
只保留當(dāng)前頁(yè)面,當(dāng)頁(yè)面不
可見(jiàn)時(shí),該 Fragment 就會(huì)被消除,釋放其資源。因此適用
于那些 數(shù)據(jù)動(dòng)態(tài)性較大、 占用內(nèi)存較多,多 Fragment 的情
況;
參考解答:在正常情況下,Activity 的常用生命周期就只有如下 7 個(gè)
onCreate()
:表示 Activity 正在被創(chuàng)建,常用來(lái) 初始化工作,比setContentView
加載界面布局資源,初始化 Activity 所onRestart()
:表示 Activity 正在重新啟動(dòng),一般情況下,當(dāng)前Acitivty
從不可見(jiàn)重新變?yōu)榭梢?jiàn)時(shí),OnRestart
就會(huì)被調(diào)用;onStart()
:表示 Activity 正在被啟動(dòng),此時(shí) Activity 可見(jiàn)但不onResume()
:表示 Activity 獲得焦點(diǎn),此時(shí) Activity 可見(jiàn)且在onStart
的區(qū)別所在;onPause()
:表示 Activity 正在停止,此時(shí)可做一些 存儲(chǔ)數(shù)據(jù)、onPause
必須先執(zhí)行完,新 Activity 的 onResume
才會(huì)onStop()
:表示 Activity 即將停止,可以做一些稍微重量級(jí)的回onDestroy()
:表示 Activity 即將被銷毀,這是 Activity 生命周延伸:從 整個(gè)生命周期來(lái)看,onCreate
和 onDestroy
是配對(duì)的,分別標(biāo)識(shí)著 Activity 的創(chuàng)建和銷毀,并且只可能有 一次調(diào)用; 從 Activity 是否可見(jiàn)來(lái)說(shuō),onStart
和 onStop
是配對(duì)的,這兩個(gè)方法可能被 調(diào)用多次; 從 Activity 是否在前臺(tái)來(lái)說(shuō),onResume
和 onPause
是配對(duì)的,這兩個(gè)方法可能被 調(diào)用多次; 除了這種區(qū)別,在實(shí)際使用中沒(méi)有其他明顯區(qū)別;
DialogActivity
呢 ?參考解答:Activity A 啟動(dòng)另一個(gè) Activity B,回調(diào)如下
onPause()
→ Activity B 的 onCreate()
→onStart()
→ onResume()
→ Activity A 的 onStop();
DialogActivity
,則不會(huì)回調(diào) A 的onStop;
onSaveInstanceState()
方法的作用 ? ? 何時(shí)會(huì)被調(diào)用?參考解答:
發(fā)生條件:異常情況下( 系統(tǒng)配置發(fā)生改變時(shí)導(dǎo)致 Activity被殺死并重新創(chuàng)建、資源內(nèi)存不足導(dǎo)致低優(yōu)先級(jí)的 Activity 被殺死)
onSaveInstanceState
來(lái)保存當(dāng)前 Activity 的狀態(tài),onStop
之前,與 onPause
沒(méi)有既定的時(shí)序關(guān)系;onRestoreInstanceState
,onSave
(簡(jiǎn)稱)方法所保存的 Bundle 對(duì)象 同時(shí)傳參給onRestore
(簡(jiǎn)稱)和onCreate()
,因此可以通過(guò)這兩個(gè)方法判斷Activity 是否被重建,調(diào)用在 onStart
之后;參考回答:
singleTop
棧頂復(fù)用模式:如果新 Activity 已經(jīng)位于任務(wù)棧的棧頂,那么此 Activity 不會(huì)被重新創(chuàng)建,同時(shí)會(huì)回調(diào) onNewIntent
方法,如果新 Activity 實(shí)例已經(jīng)存在但不在棧頂,那么Activity 依然會(huì)被重新創(chuàng)建;onNewIntent
方法,此模式啟動(dòng) Activity A,系統(tǒng)首先會(huì)尋找是singleInstance
單實(shí)例模式:這是一種加強(qiáng)的 singleTask
模參考回答:
singleTask
啟動(dòng)模式,其效果和在 XML 中指定該啟動(dòng)模式相同;singleTop
啟動(dòng)模式,其效果和在 XML 中指定該啟動(dòng)模式相同;singleTask
模式一起出現(xiàn),在這種情況下,被啟動(dòng) Activity 的實(shí)例如果已經(jīng)存在,那么系統(tǒng)就會(huì)回調(diào)onNewIntent
。如果被啟動(dòng)的 Activity 采用 standard 模式啟動(dòng),那么它以及連同它之上的 Activity 都要出棧,系統(tǒng)會(huì)創(chuàng)建新的Activity 實(shí)例并放入棧中;參考回答:
Activity 創(chuàng)建時(shí)通過(guò) attach()
初始化了一個(gè) Window 也就是PhoneWindow
,一個(gè) PhoneWindow
持有一個(gè) DecorView
的實(shí)例,DecorView
本身是一個(gè) FrameLayout
,繼承于 View,Activty
通過(guò)setContentView
將 xml
布局控件不斷 addView()
添加到 View 中,最終顯示到 Window 于我們交互;
參考回答:
android:configChanges
時(shí),切屏?xí)N毀當(dāng)前Activity,然后重新加載調(diào)用各個(gè)生命周期,切橫屏?xí)r會(huì)執(zhí)行一onPause()
→onStop()
→onDestory()
→onCreate()
→onStart()
→onResume()
android:configChanges=" orientation"
,經(jīng)過(guò)onConfigurationChanged
方法minSdkVersion
和 targetSdkVersion
)請(qǐng)查看完整的PDF版
(更多完整項(xiàng)目下載。未完待續(xù)。源碼。圖文知識(shí)后續(xù)上傳github。)
可以點(diǎn)擊關(guān)于我聯(lián)系我獲取完整PDF
(VX:mm14525201314)