日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

          1. 歡迎訪問 生活随笔!

            生活随笔

            當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

            编程问答

            面试知识点总结01

            發布時間:2023/12/2 编程问答 26 豆豆
            生活随笔 收集整理的這篇文章主要介紹了 面试知识点总结01 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

            1.Android 版本Bug

            想必使用過 Android 5.0.1 系統的用戶對內存泄露 bug 不會感到陌生,此缺陷不僅會導致內存占用過高,還會進而致使應用及其后臺進程被強制關閉,甚至是系統界面崩潰等。

              內存泄露

              信息泄露

              流量泄露

            2.ArrayList 和LinkList的區別

            ArrayList 采用的是數組形式來保存對象的,這種方式將對象放在連續的位置中,所以最大的缺點就是插入刪除時非常麻煩

            LinkedList 采用的將對象存放在獨立的空間中,而且在每個空間中還保存下一個鏈接的索引 ,但是缺點就是查找非常麻煩 要叢第一個索引開始。

            通俗理解: 你可以把 ArrayList看做是一個大小長度可變的數組來使用~~~ 一般情況也常用這個做查詢操作;

            LinkedList呢 他其實是一種鏈表形式的容器,插入刪除很方便 。

            ?

            3.Service的生命周期以及Banding Service 和 Start Service 的區別?

            service根據不同的啟動方式會展現出不同的生命周期:

            如果以onStart()方式: context.startService() ->onCreate()- >onStart()->Service running context.stopService() | ->onDestroy() ->Service stop

            如果Service還沒有運行,則android先調用onCreate()然后調用onStart();如果Service已經運行,則只調用onStart(),所以一個Service的onStart方法可能會重復調用多次。

            stopService的時候直接onDestroy,如果是調用者自己直接退出而沒有調用stopService的話,Service會一直在后臺運行。

            該Service的調用者再啟動起來后可以通過stopService關閉Service。 所以調用startService的生命周期為:onCreate --> onStart(可多次調用) --> onDestroy

            如果以onBInd()方式:   

            使用使用context.bindService()啟動Service會經歷:

            ?  context.bindService()->onCreate()->onBind()->Service running

              onUnbind() -> onDestroy() ->Service stop

              onBind將返回給客戶端一個IBind接口實例,IBind允許客戶端回調服務的方法,比如得到Service運行的狀態或其他操作。 ?這個時候把調用者(Context,例如Activity)會和Service綁定在一起,Context退出了,Srevice就會調用onUnbind->onDestroy相應退出。

            ?  所以調用bindService的生命周期為:onCreate --> onBind(只一次,不可多次綁定) --> onUnbind --> onDestory。 ?  

            在Service每一次的開啟關閉過程中,只有onStart可被多次調用(通過多次startService調用),其他onCreate,onBind,onUnbind,onDestory在一個生命周期中只能被調用一次。

            ? onStart()的方式一般用以本地服務的調用,Activity與Service不需要交互,調用者與Service無任何關系 如果以onBInd()方式:遠程調用,Activity與Service會有交互,調用者與Service綁定在一起。

            注意:Service需要在清單文件中進行配置才能使用。

            關于四大組件: http://www.cnblogs.com/pepcod/archive/2013/02/11/2937403.html 這個帖子寫的很好。

            4.res/raw和assets目錄的區別

            答: ?二者的相同點:都會直接原封不動的保存在APK中而不會被編譯成二進制文件 ?

              不同點: ??

              1.raw目錄下,不能存在文件,而不能包含文件夾。而assets可以包含下一級的文件夾 ?

              ?2.raw目錄下的資源會映射到R.java下生成資源ID,assets不會。

              ??3.獲得資源的方法不同如下: ??

              ?this.getAssets().open("xml/channels.xml"); ???

              this.getResources().openRawResource(R.raw.students); ???

              this.getClassLoader().getResourceAsStream("students.xml");

            5.String與StringBuffer,StringBuilder的區別

               1.三者在執行速度方面的比較: StringBuilder>StringBuffer>String

              2.String執行速度最慢的原因 ?String :字符串常量 ?StringBuffer:字符串變量 ?StringBuilder:字符串變量 ?由上可知:string是字符串常量也就是不可改變的對象,

            ?如: String str1 ="Hello"; ??

              str1 = str1+"wolrd"; ??

              syso(str1);---->Helloworld; ??

              雖然輸出是這樣,但是內部實現是:首先創建一個對象str1,然后在創建一個新的對象str1來合并操作, ??而原來的對象被GC回收掉。 ??

              而StringBuffer和StringBuilder則是在原來的對象上進行操作。 ??StringBuffer有一個方法:append(),添加字符串; ?

              ?2.線程安全性:????

                StringBuffer是線程安全的 ???

                StringBuilder 是線程非安全的; ?

            對于三者使用的總結:

            ?1.如果要操作少量的數據用 = String  

            ? 2.單線程操作字符串緩沖區 下操作大量數據 = StringBuilder  

            ? 3.多線程操作字符串緩沖區 下操作大量數據 = StringBuffer

            6. .9.PNG是干什么的?怎么使用? ?

            9png圖片一般用在需要拉伸的地方,比如聊天程序的對話框,字數不同,對話框的大小也不同。

            ?所以就有了9png,之所以叫9是因為圖片被分割為9個部分。

            ?//目前制作還不是太理解。。。 ?

            轉載于:https://www.cnblogs.com/taotaomajia/p/4629568.html

            總結

            以上是生活随笔為你收集整理的面试知识点总结01的全部內容,希望文章能夠幫你解決所遇到的問題。

            如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。