spring全家桶開發 2021-09-20 04:17:49 阅读数:962
1.圖片的三級緩存中,圖片加載到內存中,如果內存快爆了,會發生什麼?怎麼處理?
參考回答:
首先我們要清楚圖片的三級緩存是如何的
如果內存足够時不回收。內存不够時就回收軟引用對象
2.內存中如果加載一張500X500的png高清圖片.應該是占用多少的內存?
參考回答:
3.WebView的性能優化 ?
參考回答:
一個加載網頁的過程中,native、網絡、後端處理、CPU都會參與,各自都有必要的工作和依賴關系;讓他們相互並行處理而不是相互阻塞才可以讓網頁加載更快:
4.Bitmap如何處理大圖,如一張30M的大圖,如何預防OOM?
參考回答:避免OOM的問題就需要對大圖片的加載進行管理,主要通過縮放來减小圖片的內存占用。
綜合考慮。通過采樣率即可有效加載圖片,流程如下
5.內存回收機制與GC算法(各種算法的優缺點以及應用場景);GC原理時機以及GC對象
參考回答:
1.內存判定對象可回收有兩種機制
2.GC回收算法有以下四種:
分代收集算法:是當前商業虛擬機都采用的一種算法,根據對象存活周期的不同,將Java堆劃分為新生代和老年代,並根據各個年代的特點采用最適當的收集算法。
新生代:大批對象死去,只有少量存活。使用『複制算法』,只需複制少量存活對象即可
老年代:對象存活率高。使用『標記—清理算法』或者『標記—整理算法』,只需標記較少的回收對象即可。
標記-清除算法:首先『標記』出所有需要回收的對象,然後統一『清除』所有被標記的對象。標記和清除兩個過程的效率都不高,清除之後會產生大量不連續的內存碎片,空間碎片太多可能會導致以後在程序運行過程中需要分配較大對象時,無法找到足够的連續內存而不得不提前觸發另一次垃圾收集動作。
標記-整理算法:首先『標記』出所有需要回收的對象,然後進行『整理』,使得存活的對象都向一端移動,最後直接清理掉端邊界以外的內存。標記整理算法會將所有的存活對象移動到一端,並對不存活對象進行處理,因此其不會產生內存碎片
為了方便有學習需要的朋友,我把資料都整理成了視頻教程(實際上比預期多花了不少精力)
CodeChina開源項目:《Android學習筆記總結+移動架構視頻+大廠面試真題+項目實戰源碼》
當程序員容易,當一個優秀的程序員是需要不斷學習的,從初級程序員到高級程序員,從初級架構師到資深架構師,或者走向管理,從技術經理到技術總監,每個階段都需要掌握不同的能力。早早確定自己的職業方向,才能在工作和能力提昇中甩開同齡人。
當程序員容易,當一個優秀的程序員是需要不斷學習的,從初級程序員到高級程序員,從初級架構師到資深架構師,或者走向管理,從技術經理到技術總監,每個階段都需要掌握不同的能力。早早確定自己的職業方向,才能在工作和能力提昇中甩開同齡人。
無論你現在水平怎麼樣一定要 持續學習 沒有雞湯,別人看起來的毫不費力,其實費了很大力,沒有人能隨隨便便成功。
加油,共勉。
版权声明:本文为[spring全家桶開發]所创,转载请带上原文链接,感谢。 https://gsmany.com/2021/09/20210920041749216a.html