欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

阿里Andorid研發(fā)一面:小姑娘挺不錯來給我先講講Frag

之前在github上更新了些關于面試類的文章,含有從基礎到進階。含有BATJ.字節(jié)跳動面試專題,算法專題,高端技術專題,混合開發(fā)專題,java面試專題,Android,Java小知識,到性能優(yōu)化.線程.View.OpenCV.NDK等應有盡有。還有輔之相關的視頻+學習筆記

創(chuàng)新互聯(lián)公司專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務,包含不限于成都做網(wǎng)站、網(wǎng)站建設、濱湖網(wǎng)絡推廣、小程序設計、濱湖網(wǎng)絡營銷、濱湖企業(yè)策劃、濱湖品牌公關、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運營等,從售前售中售后,我們都將竭誠為您服務,您的肯定,是我們最大的嘉獎;創(chuàng)新互聯(lián)公司為所有大學生創(chuàng)業(yè)者提供濱湖建站搭建服務,24小時服務熱線:028-86922220,官方網(wǎng)址:aaarwkj.com

https://github.com/xiangjiana/androids
好久沒更新了,公司電腦太卡了o(╥﹏╥)o。(把所以的知識+每日一題整理成了份983頁的PDF)
阿里Andorid研發(fā)一面:小姑娘挺不錯來給我先講講Frag
(更多完整項目下載。未完待續(xù)。源碼。圖文知識后續(xù)上傳github。)
可以點擊關于我聯(lián)系我獲取完整PDF
(VX:mm14525201314)

一丶Fragment
1 、談一談 Fragment 的生命周期?

參考回答:
Fragment 從創(chuàng)建到銷毀整個生命周期中涉及到的方法依次
為:onAttach()onCreate()
onCreateView()onActivityCreated()onStart()onR<br/>esume()onPause()onStop()onDestroyView()onDestroy()onDetach(),其中和 Activity 有不少名稱相同
作用相似的方法,而不同的方法有:

  • onAttach()當 Fragment 和 Activity 建立關聯(lián)時
    調(diào)用;
  • onCreateView()當 fragment 創(chuàng)建視圖調(diào)用,在
    onCreate 之后;
  • onActivityCreated()當與 Fragment 相關聯(lián)的
    Activity 完成 onCreate()之后調(diào)用;
  • onDestroyView()在 Fragment 中的布局被移除時
    調(diào)用;
  • onDetach()當 Fragment 和 Activity 解除關聯(lián)時
    調(diào)用;
2 、談談 Activity 和 和 Fragment 的區(qū)別?

參考回答:
相似點:都可包含布局、可有自己的生命周期
不同點:

  • Fragment 相比較于 Activity 多出 4 個回調(diào)周期,
    在控制操作上更靈活;
  • Fragment 可以在 XML 文件中直接進行寫入,也可以
    在 Activity 中動態(tài)添加;
  • Fragment 可以使用 show()/hide()或者 replace()
    隨時對 Fragment 進行切換,并且切換的時候不會出
    現(xiàn)明顯的效果,用戶體驗會好;Activity 雖然也可
    以進行切換,但是 Activity 之間切換會有明顯的翻
    頁或者其他的效果,在小部分內(nèi)容的切換上給用戶
    的感覺不是很好;
3 、Fragment 中 add 與 與 replace 的區(qū)別(Fragment 重疊)

參考回答:

  • add 不會重新初始化 fragment,replace 每次都會。所以
    如果在 fragment 生命周期內(nèi)獲取獲取數(shù)據(jù),使用 replace
    會重復獲?。?/li>
  • 添加相同的 fragment 時,replace 不會有任何變化,add
    會報 IllegalStateException 異常;
  • replace 先 remove 掉相同 id 的所有 fragment,然后在
    add 當前的這個 fragment,而 add 是覆蓋前一個
    fragment。所以如果使用 add 一般會伴隨 hide()和
    show(),避免布局重疊;
  • 使用 add,如果應用放在后臺,或以其他方式被系統(tǒng)銷
    毀,再打開時,hide()中引用的 fragment 會銷毀,所以依
    然會出現(xiàn)布局重疊 bug,可以使用 replace 或使用 add
    時,添加一個 tag 參數(shù);
4 、 getFragmentManagergetSupportFragmentManager 、

getChildFragmentManager 之間的區(qū)別?
參考回答:

  • getFragmentManager()所得到的是所在 fragment 的 父容器
    的管理器, getChildFragmentManager()所得到的是在
    fragment 里面 子容器的管理器, 如果是 fragment 嵌套
    fragment,那么就需要利用
    getChildFragmentManager();
  • 因為 Fragment 是 3.0 Android 系統(tǒng) API 版本才出現(xiàn)的組
    件,所以 3.0 以上系統(tǒng)可以直接調(diào)用
    getFragmentManager()來獲取FragmentManager()對象,
    而 3.0 以下則需要調(diào)用 getSupportFragmentManager()
    間接獲??;
5 、FragmentPagerAdapter 與 與 FragmentStatePagerAdapter 的區(qū)別與使用場景

參考回答:
相同點 :二者都繼承 PagerAdapter
不同點 :FragmentPagerAdapter 的每個 Fragment 會持久的保存在 FragmentManager 中,只要用戶可以返回到頁面
中,它都不會被銷毀。因此適用于那些數(shù)據(jù) 相對靜態(tài)的
頁,F(xiàn)ragment 數(shù)量也比較少的那種;FragmentStatePagerAdapter 只保留當前頁面,當頁面不
可見時,該 Fragment 就會被消除,釋放其資源。因此適用
于那些 數(shù)據(jù)動態(tài)性較大、 占用內(nèi)存較多,多 Fragment 的情
況;

二、Activity
1丶說下 Activity 生命周期?

參考解答:在正常情況下,Activity 的常用生命周期就只有如下 7 個

  • onCreate()表示 Activity 正在被創(chuàng)建,常用來 初始化工作,比
    如調(diào)用 setContentView 加載界面布局資源,初始化 Activity 所
    需數(shù)據(jù)等;
  • onRestart()表示 Activity 正在重新啟動,一般情況下,當前
    Acitivty 從不可見重新變?yōu)榭梢姇r,OnRestart就會被調(diào)用;
  • onStart()表示 Activity 正在被啟動,此時 Activity 可見但不
    在前臺,還處于后臺,無法與用戶交互;
  • onResume()表示 Activity 獲得焦點,此時 Activity 可見且在
    前臺并開始活動,這是與 onStart 的區(qū)別所在;
  • onPause()表示 Activity 正在停止,此時可做一些 存儲數(shù)據(jù)、
    停止動畫等工作,但是不能太耗時,因為這會影響到新 Activity
    的顯示,onPause 必須先執(zhí)行完,新 Activity 的 onResume 才會
    執(zhí)行;
  • onStop()表示 Activity 即將停止,可以做一些稍微重量級的回
    收工作,比如注銷廣播接收器、關閉網(wǎng)絡連接等,同樣不能太耗
    時;
  • onDestroy()表示 Activity 即將被銷毀,這是 Activity 生命周
    期中的最后一個回調(diào),常做 回收工作、資源釋放;

延伸:從 整個生命周期來看,onCreateonDestroy 是配對的,分別標識著 Activity 的創(chuàng)建和銷毀,并且只可能有 一次調(diào)用; 從 Activity 是否可見來說,onStartonStop 是配對的,這兩個方法可能被 調(diào)用多次; 從 Activity 是否在前臺來說,onResumeonPause 是配對的,這兩個方法可能被 調(diào)用多次; 除了這種區(qū)別,在實際使用中沒有其他明顯區(qū)別;

2 、 Activity A 啟動另一個 Activity B 會調(diào)用哪些方法?如果 B 是透明主題的又或則是個 DialogActivity 呢 ?

參考解答:Activity A 啟動另一個 Activity B,回調(diào)如下

  • Activity A 的 onPause() → Activity B 的 onCreate()
    onStart()onResume() → Activity A 的 onStop();
  • 如果 B 是透明主題又或則是個 DialogActivity,則不會回調(diào) A 的onStop;
3 、說下 onSaveInstanceState() 方法的作用 ? ? 何時會被調(diào)用?

參考解答:

發(fā)生條件:異常情況下( 系統(tǒng)配置發(fā)生改變時導致 Activity被殺死并重新創(chuàng)建、資源內(nèi)存不足導致低優(yōu)先級的 Activity 被殺死

  • 系統(tǒng)會調(diào)用 onSaveInstanceState 來保存當前 Activity 的狀態(tài),
    此方法調(diào)用在 onStop 之前,與 onPause 沒有既定的時序關系;
  • 當 Activity 被重建后,系統(tǒng)會調(diào)用 onRestoreInstanceState,
    并且把 onSave(簡稱)方法所保存的 Bundle 對象 同時傳參給
    onRestore(簡稱)和onCreate(),因此可以通過這兩個方法判斷Activity 是否被重建,調(diào)用在 onStart 之后;
    阿里Andorid研發(fā)一面:小姑娘挺不錯來給我先講講Frag
4 、說下 Activity 的四種啟動模式、應用場景 ?

參考回答:

  • standard 標準模式:每次啟動一個 Activity 都會重新創(chuàng)建一個
    新的實例,不管這個實例是否已經(jīng)存在,此模式的 Activity 默認
    會進入啟動它的 Activity 所屬的任務棧中;
  • singleTop 棧頂復用模式:如果新 Activity 已經(jīng)位于任務棧的棧頂,那么此 Activity 不會被重新創(chuàng)建,同時會回調(diào) onNewIntent方法,如果新 Activity 實例已經(jīng)存在但不在棧頂,那么Activity 依然會被重新創(chuàng)建;
  • singleTask 棧內(nèi)復用模式:只要 Activity 在一個任務棧中存在,那么多次啟動此 Activity 都不會重新創(chuàng)建實例,并回調(diào)
    onNewIntent 方法,此模式啟動 Activity A,系統(tǒng)首先會尋找是
    否存在 A 想要的任務棧,如果不存在,就會重新創(chuàng)建一個任務
    棧,然后把創(chuàng)建好 A 的實例放到棧中;
  • singleInstance單實例模式:這是一種加強的 singleTask
    式,具有此種模式的 Activity 只能單獨地位于一個任務棧中,且
    此任務棧中只有唯一一個實例;
5 、了解哪些 Activity 常用的標記位 Flags ?

參考回答:

  • FLAG_ACTIVITY_NEW_TASK :對應 singleTask 啟動模式,其效果和在 XML 中指定該啟動模式相同;
  • FLAG_ACTIVITY_SINGLE_TOP :對應 singleTop 啟動模式,其效果和在 XML 中指定該啟動模式相同;
  • FLAG_ACTIVITY_CLEAR_TOP :具有此標記位的 Activity,當它啟動時,在同一個任務棧中所有位于它上面的 Activity 都要出棧。這個標記位一般會和 singleTask 模式一起出現(xiàn),在這種情況下,被啟動 Activity 的實例如果已經(jīng)存在,那么系統(tǒng)就會回調(diào)onNewIntent。如果被啟動的 Activity 采用 standard 模式啟動,那么它以及連同它之上的 Activity 都要出棧,系統(tǒng)會創(chuàng)建新的Activity 實例并放入棧中;
  • FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS :具有這個標記的Activity 不會出現(xiàn)在歷史 Activity 列表中;
6 、說下 Activity 跟 跟 window , view 之間的關系?

參考回答:
Activity 創(chuàng)建時通過 attach()初始化了一個 Window 也就是
PhoneWindow,一個 PhoneWindow 持有一個 DecorView 的實例,DecorView 本身是一個 FrameLayout,繼承于 View,Activty 通過setContentViewxml 布局控件不斷 addView()添加到 View 中,最終顯示到 Window 于我們交互;

7 、橫豎屏切換的 Activity 生命周期變化?

參考回答:

  • 不設置 Activity 的 android:configChanges 時,切屏會銷毀當前Activity,然后重新加載調(diào)用各個生命周期,切橫屏時會執(zhí)行一
    次,切豎屏時會執(zhí)行兩次;onPause()onStop()onDestory()onCreate()onStart()onResume()
  • 設置 Activity 的 android:configChanges=" orientation",經(jīng)過
    機型測試
    • 在 Android5.1 即 即 API 3 23 級別下,切屏還是會重新調(diào)用各個生命周期,切橫、豎屏時只會執(zhí)行一次
    • 在 Android9 即 即 API 8 28 級別下,切屏不會重新調(diào)用各個生命周期,只會執(zhí)行 onConfigurationChanged 方法
    • 官方糾正后,原話如下
      如果您的應用面向 Android 2 3.2 即 即 API 級別 3 13 或更
      高級別(按照 minSdkVersiontargetSdkVersion)

請查看完整的PDF版
(更多完整項目下載。未完待續(xù)。源碼。圖文知識后續(xù)上傳github。)
可以點擊關于我聯(lián)系我獲取完整PDF
(VX:mm14525201314)

阿里Andorid研發(fā)一面:小姑娘挺不錯來給我先講講Frag

網(wǎng)站題目:阿里Andorid研發(fā)一面:小姑娘挺不錯來給我先講講Frag
本文來源:http://aaarwkj.com/article24/jjgije.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供云服務器、靜態(tài)網(wǎng)站、網(wǎng)站策劃、定制網(wǎng)站、面包屑導航微信小程序

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

h5響應式網(wǎng)站建設
av熟妇人妻一区二区三区| 成人国产午夜福利网| 日本高清免费观看一区| 午夜精品四季av日日骚| 国产精品偷伦一区二区| 亚洲av乱码一区二区三区观影| 亚洲av综合日韩精品久久| 偷窥偷拍视频一区二区| 欧美在线观看香蕉视频| 五月激情开心久久婷婷| 日韩欧美人妻一二三四区| 国产精品三级久久久| 中文字幕日韩一区二区| 久久产精品一区二区三区日韩| 日韩有码在线中文字幕| 精品人妻少妇一区二区三区| 巨乳人妻一区二区三区| 91口爆吞精国产对白| 一区二区三区亚洲精品在线| 免费国产污网站在线观看| 国产乱码精品免费一区二区av| 欧美成人精品资源在线观看| 9热在线视频精品这里只有| 中文字幕五月久久婷热| 亚洲一区二区三区在线播| 国产av一区二区三区| 久久青草视频在线观看| 日韩精品极品在线免费视频| 又黄又湿又刺激中文字幕| 欧美香蕉一区二区视频| 亚洲精品一区二区av| 无人视频在线观看高清91| 日本在线中文字幕乱码| 中文字幕有码在线朋友| 91精品中综合久久久久| 精品国产女同一区二区| 国产精品国产三级国产专播| 欧美大片黄片在线观看| 精品人妻一区二区在线99| 国产高清自拍视频在线一区| 日本欧美精品一区二区精选|