妥妥的去面試之Android基礎(四)

2021-09-11 12:57:37 字數 1608 閱讀 9805

筆者由於在近期需要找工作,所以近期最主要的任務就是準備面試,不打無準備之仗。只有你準備充分了,那麼你想得到的機會才可能有機會入你懷中。

筆者會將準備面試的學習過程記錄下來,方便自己覆盤的同時也希望能給一道找工作的小夥伴們一些幫助。筆者準備的內容大綱如下

妥妥的去面試之android基礎(一)

妥妥的去面試之android基礎(二)

妥妥的去面試之android基礎(三)

接下來開始本篇部落格的正菜:

alpha_8 每個畫素占用1byte記憶體

argb_4444 每個畫素占用2byte記憶體

argb_8888 每個畫素占用4byte記憶體(預設)

rgb_565 每個畫素占用2byte記憶體

在android中,bitmap的儲存分為兩部分,一部分是bitmap的資料,一部分是bitmap的引用。 在android2.3時代,bitmap的引用是放在堆中的,而bitmap的資料部分是放在棧中的,需要使用者呼叫recycle方法手動進行記憶體**,而在android2.3之後,整個bitmap,包括資料和引用,都放在了堆中,這樣,整個bitmap的**就全部交給gc了,這個recycle方法就再也不需要使用了。

啟動服務兩種方式

1.startservice

oncreate() --> onstartcommand() --> ondestroy()

2.bindservice

oncreate() --> onbind() --> onunbind() --> ondestroy()

bind的方式開啟服務後,如果開啟者被銷毀了,它也會跟著一起銷毀。繫結者可以呼叫服務裡的方法。

3.通訊方式

服務和activity、服務和服務之間可以通過binder物件、broadcast(廣播)進行通訊。

在使用handler的時候,往往是需要在子執行緒中做耗時任務的,但是當任務未執行完就把該handler所在的activity銷毀的話,它是無法被gc的。因為持有非靜態內部類的引用是無法被記憶體**,所以會出現記憶體洩露。

解決方法主要在於兩點:

通過繼承handler就可以實現乙個handler靜態內部類,還可以在構造方法中新增對外部activity的弱引用。

public class mainactivity extends activity 

@override

public void handlemessage(message msg)

}}複製**

序列化,表示將乙個物件轉換成可儲存或可傳輸的狀態。

需要序列化的原因有三種情況:

永久性儲存物件,將物件的位元組序列儲存到本地檔案中;

物件在網路中傳遞

物件在ipc間傳遞

妥妥的去面試之Android基礎(三)

筆者由於在近期需要找工作,所以近期最主要的任務就是準備面試,不打無準備之仗。只有你準備充分了,那麼你想得到的機會才可能有機會入你懷中。筆者會將準備面試的學習過程記錄下來,方便自己覆盤的同時也希望能給一道找工作的小夥伴們一些幫助。筆者準備的內容大綱如下 妥妥的去面試之android基礎 一 妥妥的去面...

妥妥的去面試之資料結構與演算法(二)

筆者由於在找工作,所以近期最主要的任務就是準備面試,不打無準備之仗。只有你準備充分了,那麼你想要的機會才有機會入你懷中。筆者會將準備面試的學習過程記錄下來,方便自己覆盤的同時也希望能給一道找工作的小夥伴們一些幫助。筆者準備的內容大綱如下 android面試大綱.png 妥妥的去面試之資料結構與演算法...

妥妥的去面試之計算機網路

https簡單的說就是http的安全版。http協議傳輸的資料都是未加密的,也就是明文,這對於傳輸一些私密的資訊來說是不安全的,於是就出現了https,https是由ssl http協議構建的可進行加密傳輸 身份認證的網路協議,比http安全。它們的主要區別 簡單說一下https的工作流程?客戶端使...