1. 程式人生 > >三級快取,二級取樣,螢幕適配

三級快取,二級取樣,螢幕適配

1,三級快取 

why?

站在使用者的角度為使用者考慮提高使用者的體驗度,當記憶體中有圖片之後就不再網路中進行下載,節省了圖片展示的時間和流量的耗費。

要了解這個原理手心需要知道連個概念是強引用和若引用的概念

基本的概念:

強引用:

若引用:

儲存的步驟: 記憶體---sd卡--網路下載

再開啟非同步任務下載的時候,如果放入記憶體不成功,那麼則開啟網路進行下載,如果網路下載不成功,則使用的是再sd卡中進行下載和使用。

2,二級取樣

首先在optiions中獲取相應的inJsutBounds寬高邊距的方法折true 儲存的是空的Bitmap

之後在compress()。中再將 inJustBounds寬高邊距的方法設定為false,之後對其進行壓縮儲存

3.螢幕適配

why?

手機版本,系統,螢幕碎片化嚴重,為了不影響app在各個平臺上展示正常,所以要進行螢幕的適配

2,重要概念

螢幕尺寸:英寸為單位,螢幕對角線 的距離。1英寸=2.45cm。

螢幕密度: 每英寸對角線上畫素點的密度 一般在440-460左右

計算eg  10

螢幕解析度: 橫縱方向畫素點的數量 px,以160獨立畫素密度  1px=1

橫豎屏之間的切換

res--》layout-land橫屏

            /layout-port-豎屏

           layout-large大屏

            layout-small 小屏

           layout-large-land 大屏且橫屏在andorid5.1以上

----將activity_main之後

layout-sw<**>dp 螢幕最小寬度的限定,手機螢幕寬度最小是600dp

2,圖片

mipmap-**中是用來放置圖片的(只需要做一套就可以 了,主流機型 720*1280 )

mdpi  120dpi-160dpi  比例  1

hdpi 160dpi-240dpi             1.5

xhdpi  240dpi-320dpi             2

xxhdpi 320dpi-480dpi             3

xxxhdpi  480dpi-640dpi           4

桌面圖示的做法和使用:(每個尺寸都需要做,之後放入不同的包中)

mdpi    48*48  比例  1

hdpi          72*72          1.5

xhdpi  96*96             2

xxhdpi        144*144             3

xxxhdpi  196*196           4


3,佈局中使用 wrap_content 和match_parent不自己設定固定具體的dp尺寸()

       使用線性不僅僅和相對佈局,不使用絕對佈局,如果使用尺寸的話,使用dimens(res---》values-800*480(相應的手機尺寸)-----》建dimens)

設定dimens的時候每個dimens都得設定屬性,否則的話不會顯示。(在不同的手機中會找到不同的dimens進行適配

使用.9png圖片: 左上拉伸,右下是內容,交接的地方是顯示圖片的內容區(上邊點點,說明左右拉伸,左邊點上下拉伸,底邊和和右側交叉區域是內容的顯示區域)

.9png圖片的使用:為了保證圖示不變樣,只拉伸存顏色區域的圖片

在 studio中的使用.9png需要放在drawable中進行儲存,之後再進行使用四個邊的點都需要點

在邏輯程式碼中設定(最終的方法)

獲取螢幕的寬高:  控制元件是佔螢幕寬高的比例是多少 mWidth*1/2(控制元件的寬)

百分比的佈局

自己如何做百分比適配:

佈局最外層,使用的是線性佈局,有方向和權重,線性佈局利用權重來分配大小,將其分為各個不同的模組

線性佈局巢狀三層,將其進行巢狀的時候做出來的效果是相同的,之後在微調細節佈局。