<i id='bfjepm8k'><tr id='jdc5th2h'><dt id='jsjhx63l'><q id='jksi2uqk'><span id='2cf00lxr'><b id='acg38yyr'><form id='bop3vnlt'><ins id='4lufat4l'></ins><ul id='wund1zho'></ul><sub id='77kpavme'></sub></form><legend id='4eb5aqtn'></legend><bdo id='vhlael6w'><pre id='hd28dcu0'><center id='yyrndewn'></center></pre></bdo></b><th id='ktmo0n6i'></th></span></q></dt></tr></i><div id='qs8wy06f'><tfoot id='r0omfr4z'></tfoot><dl id='dtmyv136'><fieldset id='msx8imp1'></fieldset></dl></div>

<small id='ib028l4z'></small><noframes id='xdw3ol0k'>

    <tbody id='hozwakc7'></tbody>

      <legend id='p03rvvu4'><style id='wg90yptt'><dir id='r50t56tx'><q id='sbtuhvc3'></q></dir></style></legend>
    1. <tfoot id='irnn415p'></tfoot>
    2. 網站建設公司當前位置 : 網站建設公司 > 知識普及

      移動開發——安卓開發面試必備的基礎知識(一)

      發布時間:2022-03-04 17:02   瀏覽次數:次   
       一、關于Activity
             關于Activity必須要了解的內容有:Activity的生命周期、android任務棧、Activity啟動模式、scheme跳轉協議。
       
             1.1  什么是Activity
       
                    Activity是應用與用戶交互的接口,它提供了一個界面讓用戶進行點擊、滑動等操作
       
              1.2 activity生命周期
       
                    通用的生命周期圖就不貼了,網上都能找到
       
                    共7種函數
       
                    Activity啟動-->onCreate()-->onStart()-->onResume()             onResume()方法執行后可以進行交互
       
                    Activity不可見時(如點擊home)-->onPause()-->onStop()
       
                    再次回到Activity時,-->onRestart()-->onStart()-->onResume()     onRestart()方法是在Activity由不可見變為可見時執行
       
                    退出Activity時onPause()-->onStop()-->onDestroy()        onDestroy()方法中可做資源的回收與釋放
       
                    知識點:android進程優先級       前臺>可見>服務>后臺>空
       
              1.3 activity啟動模式
       
                    共4種
       
                     標準:standard
       
                     棧頂:singletop
       
                     棧內:singletask
       
                     全局:singleinstance
       
              1.4 scheme跳轉協議
       
                     通過注冊scheme可在App頁面內跳轉,從H5頁面跳轉到App,從一個App跳轉到另一個App
       
       
       
             二、關于Fragment
             關于Fragment必須要了解的內容有:Fragment的生命周期、Fragment之間的通信、Fragment管理器
       
                     Fragment相比Activity更節省內存,UI切換更舒適
       
                     動態添加Fragment
       
              FragmentManager fragmentManager = getSupportFragmentManager();
              FragmentTransaction transaction = fragmentManager.beginTransaction();
       
              RightFragment rightFragment = new RightFragment();
              transaction.add(R.id.id_fragment_right,rightFragment,"rightFragment");
       
              transaction.commit();
                     FragmentPagerAdapter與FragmentStatePagerAdapter的區別
       
             由于FragmentPagerAdapter在destroyItem時使用detach方法將Fragment的UI與Activity的UI脫離,而FragmentStatePagerAdapter在destroyItem時使用remove方法將Fragment內存回收,所以,FragmentStatePagerAdapter更適合fragment較多的情況
       
              2.1 Fragment的生命周期
       
                   共有11種函數,在fragment的view創建之后,在onPause之前,activity的周期是先于它運行的,自onPause之后,fragment的周期的先于activity運行的。
       
       
       
              2.2 Fragment通信(需要代碼實踐)
       
                     2.2.1  在Fragment中調用Activity的方法  getActivity
       
                     2.2.2  在Activity中調用Fragment的方法  接口回調
       
                     2.2.3  在Fragment中調用Fragment的方法  findFragmentById
       
                     Fragment常用方法:replace(),add(),remove()
       
       
       
             三、關于Service
                      Service(服務)是一種可以在后臺執行長時間運行操作而沒有用戶界面的應用組件
       
                      Service是運行在主線程中的,所以不能進行耗時操作
       
                      Service生命周期,先上圖
       
       
       
                      啟動服務的生命周期:onCreate()、onStartCommand()、onDestory()
       
       
       
                      綁定服務的生命周期:onCreate()、onBind()、onUnbind()、onDestory()
       
                      但是要注意的是onBind()只被執行一次,可以綁定已經啟動的服務
       
              3.1 Service啟動方式
       
                      startService()
       
                      步驟:定義一個類繼承Service,注冊Service,使用Context的startService(Intent)方法啟動。
       
                      bindService()
       
                      步驟:創建BindService服務端繼承自Service,在類中實現IBinder接口的實例對象并tigong公共方法給客戶端調用,從onBind()回調方法返回此Binder實例,在客戶端中,從onServiceConnected()回調方法接收Binder,并使用提供的方法調用綁定服務
       
       
       
             四、關于BroadcastReceiver
                      BroadcastReceiver是一種廣泛運用的在應用程序之間傳輸信息的機制,android中廣播內容是一個Intent,可以攜帶要發送的數據
       
                      廣播種類:normal  Broadcast;system Broadcast;local Broadcast
       
                      其它知識點:
       
                      Binder是一種通信機制,通常用于跨進程通信
       
                      AIDL是一個縮寫,全稱是Android Interface Definition Language,也就是Android接口定義語言,主要用于多進程并發的進程間通信
       
    3. <small id='5rb6dn7t'></small><noframes id='agp6lvnz'>

        <legend id='pd1y9znj'><style id='5li76cx0'><dir id='slqbfvxq'><q id='2rxe5u26'></q></dir></style></legend>

        <tfoot id='xu5xcqj4'></tfoot>
        <i id='jlh4wrxa'><tr id='7mwwi3ix'><dt id='srezunq3'><q id='9td5rq3y'><span id='bpwvb499'><b id='fm52dow7'><form id='6rm75ojd'><ins id='lokqsq82'></ins><ul id='iwvx812k'></ul><sub id='fuctsep4'></sub></form><legend id='qf9aixrd'></legend><bdo id='v43x48ds'><pre id='iyccxrj8'><center id='ts10ecyc'></center></pre></bdo></b><th id='hxsbcrdj'></th></span></q></dt></tr></i><div id='84nh5sa7'><tfoot id='8ffqkh30'></tfoot><dl id='4g2t9gr8'><fieldset id='sxez3z9y'></fieldset></dl></div>

            <tbody id='9t22iwhr'></tbody>

            本文來源于網絡,若有侵權請聯系3449817223#qq.com,將在第一時間刪除。

                <i id='1jql1f5m'><tr id='sw48be6o'><dt id='ywg5nlmn'><q id='fqr3dejn'><span id='4ggtj67f'><b id='gnx8288r'><form id='hvglrrak'><ins id='w3c6s31o'></ins><ul id='muxz9324'></ul><sub id='mh93gu37'></sub></form><legend id='uevva1uz'></legend><bdo id='91ln9fue'><pre id='yhlom0ka'><center id='in9vxs9o'></center></pre></bdo></b><th id='zz7l8eyr'></th></span></q></dt></tr></i><div id='w4u40mtk'><tfoot id='qry27x66'></tfoot><dl id='9x7bwlal'><fieldset id='ptzoo8ea'></fieldset></dl></div>

                <small id='bhsbvltp'></small><noframes id='vfqiok6w'>

              • <legend id='bklc2acm'><style id='0glqtvhp'><dir id='bnjvwzd2'><q id='sueox7jv'></q></dir></style></legend>

                  <tbody id='obfhc1ro'></tbody>
                <tfoot id='hckvzpws'></tfoot>
                人妻丰满熟妇av无码区AAP