老熟女激烈的高潮_日韩一级黄色录像_亚洲1区2区3区视频_精品少妇一区二区三区在线播放_国产欧美日产久久_午夜福利精品导航凹凸

重慶分公司,新征程啟航

為企業提供網站建設、域名注冊、服務器等服務

如何成為BAT高級開發程序員-創新互聯

下文主要給大家帶來如何成為BAT高級開發程序員,希望這些文字能夠帶給大家實際用處,這也是我編輯如何成為BAT高級開發程序員這篇文章的主要目的。好了,廢話不多說,大家直接看下文吧。

網站設計制作過程拒絕使用模板建站;使用PHP+MYSQL原生開發可交付網站源代碼;符合網站優化排名的后臺管理系統;成都做網站、網站制作收費合理;免費進行網站備案等企業網站建設一條龍服務.我們是一家持續穩定運營了10多年的創新互聯公司網站建設公司。

一.Bitmap

1、Bitmap 使用需要注意哪些問題 ?

1)要選擇合適的圖片規格(bitmap 類型): 通常我們優化Bitmap 時,當需要做性能優化或者防止 OOM,我們通常會使用 RGB_565,因為 ALPHA_8 只有透明度,顯示一般圖片沒有意義,Bitmap.Config.ARGB_4444 顯示圖片不清楚,Bitmap.Config.ARGB_8888 占用內存最多。:

  • ALPHA_8 每個像素占用 1byte 內存
  • ARGB_4444 每個像素占用 2byte 內存
  • ARGB_8888 每個像素占用 4byte 內存(默認)
  • RGB_565 每個像素占用 2byte 內存

2)降低采樣率: BitmapFactory.Options  參數 inSampleSize 的使用,先把 options.inJustDecodeBounds 設為 true,只是去讀取圖片的大小,在拿到圖片的大小之后和要顯示的大小做比較通過 calculateInSampleSize()函數計算 inSampleSize 的具體值,得到值之后。options.inJustDecodeBounds 設為 false讀圖片資源。

3)復用內存: 即通過軟引用(內存不夠的時候才會回收掉),復用內存塊,不需要再重新給這個 bitmap 申請一塊新的內存,避免了一次內存的分配和回收,從而改善了運行效率。

4)使用 recycle()方法及時回收內存。

如何成為BAT高級開發程序員

5)壓縮圖片

2、Bitmap.recycle()會立即回收么?什么時候會回收?如果沒有地方使用這個 Bitmap,為什么垃圾回收不會直接回收?
參考回答:

通過源碼可以了解到,加載 Bitmap 到內存里以后,是包含兩部分內存區域的。簡單的說,一部分是 Java 部分的,一部分是 C部分的。這個 Bitmap 對象是由 Java 部分分配的,不用的時候系統就會自動回收了

但是那個對應的 C 可用的內存區域,虛擬機是不能直接回收的,這個只能調用底層的功能釋放。所以需要調用 recycle()方法來釋放 C 部分的內存

bitmap.recycle()方法用于回收該 Bitmap 所占用的內存,接著將 bitmap 置空,最后使用 System.gc()調用一下系統的垃圾回收器進行回收,調用 System.gc()并不能保證立即開始進行回收過程,而只是為了加快回收的到來

3、一張 Bitmap 所占內存以及內存占用的計算
參考回答:

Bitamp 所占內存大小 = 寬度像素 x (inTargetDensity /inDensity) x 高度像素 x (inTargetDensity / inDensity)x 一個像素所占的內存字節大小

注: 這里 inDensity 表示目標圖片的 dpi(放在哪個資源文件夾下),inTargetDensity 表示目標屏幕的 dpi,所以你可以發現 inDensity 和 inTargetDensity 會對Bitmap 的寬高進行拉伸,進而改變 Bitmap 占用內存的大小。

在 Bitmap 里有兩個獲取內存占用大小的方法。

  • getByteCount():API12 加入,代表存儲 Bitmap 的像素需要的最少內存。
  • getAllocationByteCount():API19 加入,代表在內存中為  Bitmap  分配的內存大小,代替了getByteCount() 方法。
  • 在不復用  Bitmap 時,getByteCount()  和getAllocationByteCount 返回的結果是一樣的。在通過復用 Bitmap 來解碼圖片時,那么 getByteCount()表示新解碼圖片占用內存的大  小,getAllocationByteCount() 表示被復用 Bitmap 真實占用的內存大小
4、Android 中緩存更新策略 ?
參考回答:

Android 的緩存更新策略沒有統一的標準,一般來說,緩存策略主要包含緩存的添加、獲取和刪除這三類操作,但不管是內存緩存還是存儲設備緩存,它們的緩存容量是有限制的,因此刪除一些舊緩存并添加新緩存,如何定義緩存的新舊這就是一種策略,不同的策略就對應著不同的緩存算法

比如可以簡單地根據文件的最后修改時間來定義緩存的新舊,當緩存滿時就將最后修改時間較早的緩存移除,這就是一種緩存算法,但不算很完美

5、LRU 的原理 ?
參考回答:

為減少流量消耗,可采用緩存策略。常用的緩存算法是LRU(Least Recently Used):當緩存滿時, 會優先淘汰那些近期最少使用的緩存對象。主要是兩種方式:

  • LruCache(內存緩存):LruCache 類是一個線程安全的泛型類:內部采用一個 LinkedHashMap 以強引用的方式存儲外界的緩存對象,并提供 get 和 put 方法來完成緩存的獲取和添加操作,當緩存滿時會移除較早使用的緩存對象,再添加新的緩存對象。
  • DiskLruCache(磁盤緩存):  通過將緩存對象寫入文件系統從而實現緩存效果

二.Handler

6.談談消息機制 Handler 作用 ?有哪些要素 ?流程是怎樣的 ?

7.一個線程能否創建多個 Handler,Handler 跟 Looper 之間的對應關系 ?

8.軟引用跟弱引用的區別

9.Handler 引起的內存泄露原因以及最佳解決方案

10.為什么系統不建議在子線程訪問 UI?

11.Looper 死循環為什么不會導致應用卡死?

12.使用 Handler 的 postDealy 后消息隊列會有什么變化?

13.可以在子線程直接 new 一個 Handler 嗎?怎么做?

14.Message 可以如何創建?哪種效果更好,為什么?

三.性能優化

15.圖片的三級緩存中,圖片加載到內存中,如果內存快爆了,會發生什么?怎么處理?

17.WebView 的性能優化 ?

18.Bitmap 如何處理大圖,如一張 30M 的大圖,如何預防 OOM?

19.內存回收機制與 GC 算法(各種算法的優缺點以及應用場景);GC 原理時機以及 GC 對象

20.內存泄露和內存溢出的區別 ?AS 有什么工具可以檢測內存泄露

21.性能優化,怎么保證應用啟動不卡頓? 黑白屏怎么處理?

對于以上關于如何成為BAT高級開發程序員,大家是不是覺得非常有幫助。如果需要了解更多內容,請繼續關注我們的行業資訊,相信你會喜歡上這些內容的。

另外有需要云服務器可以了解下創新互聯cdcxhl.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業上云的綜合解決方案,具有“安全穩定、簡單易用、服務可用性高、性價比高”等特點與優勢,專為企業上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。


網頁標題:如何成為BAT高級開發程序員-創新互聯
網站地址:http://www.xueling.net.cn/article/isjoc.html

其他資訊

在線咨詢
服務熱線
服務熱線:028-86922220
TOP
主站蜘蛛池模板: 福利视频欧美一区二区三区 | 亚洲第一成人av | 亚洲情a成黄在线观看动 | 超碰在线国产97 | 人与野鲁xxxx毛片 | 国产性天天综合网 | 丁香婷婷激情俺也去俺来也 | 精品国产品香蕉在线 | 午夜理论片YY6080影院 | 在线激情无码免费看 | 日本aaa大片 | 性色欲网站人妻丰满中文久久不卡 | 在线综合亚洲 | 不卡高清视频 | 国产欧美日本AⅤ精品 | 超碰成人97| 九九热视频免费 | 亚卅毛片 | 精品久久久久国产免费第一页 | 免费无遮挡无码视频网站 | 国产免费午夜 | 成人免费高潮片视频软件 | 欧美丰满少妇xxⅹ | 午夜亚洲国产理论片 | 精品日本视频 | 国产精品高潮久久 | 欧美成人午夜免费影院 | 成人春色在线观看免费网站 | 国产一区二区三区视频 | 在线观看亚 | 奇米影音第四色 | 午夜激情亚洲 | 毛片在线一区二区观看精品 | 国产日韩在线观看视频 | 欧美younv交 交换少妇隔壁呻吟 | 久久久婷婷 | 狠狠躁夜夜躁青青草原软件 | 给我免费的视频在线观看 | 狠狠综合久久久久综合网 | 男女啪啪免费观看无遮挡 | SAO货腿张开JI巴CAO死我 |