原创 Java序列化反序列化、Serializable、Parcelable 知識總結

前言 本博客對Java序列化反序列化、Serializable、Parcelable 知識的一個總結。在開發中我們發現Android中Intent傳遞對象有兩種方法:一是Bundle.putSerializable(Key,Obj

原创 Android Proguard代碼混淆面試知識小結

今天我們來學習下 Proguard 代碼混淆的知識,由於Java代碼非常容易被反編碼,爲了很好的保護Java源代碼,我們需要對編譯好後的class文件進行混淆,增加項目被反編譯的難度。 一、proguard是什麼? proguard 工具

原创 Service面試知識小結

本博客是對Service基本面試知識的一個小結,該博客複製參考了Hensen_,感謝原文博主的分享,在前人的基礎上做了補充,方便後期知識的回顧。 1、Service是什麼? Service是四大組件之一,它可以在後臺執行長時間運行操作而沒

原创 Android構建面試知識小結

今天我們來學習Android構建知識,平常開發中在android studio中點擊run ,就能把代碼編譯成一個apk文件並安裝到手機上,我們來看下這個過程中都具體發生了什麼。 一、Android 的構建流程 1、apk 構建的基本流程

原创 android冷啓動與熱啓動面試知識小結

今天我們來學習Android 冷啓動、熱啓動方面的知識。 一、什麼是冷啓動、熱啓動? 冷啓動: 在啓動應用時,系統中沒有該應用的進程,這時系統會創建一個新的進程分配給該應用; 熱啓動: 在啓動應用時,系統中已有該應用的進程(例:

原创 BrodcastReceiver面試知識小結

本博客是對BrodcastReceiver基本面試知識的一個小結,該博客複製參考了Hensen_,感謝原文博主的分享,在前人的基礎上做了補充,方便後期知識的回顧。 推薦博文:Android四大組件:BroadcastReceiver史上最

原创 View 繪製流程知識小結

今天我們來複習下View的繪製流程。View是Android中所有控件的基類,是控件的一種抽象,代表了一個控件。 Android進階——Android視圖工作機制之measure、layout、draw 一、View樹的繪製流程 meas

原创 IntentService面試知識小結

今天我們來回顧複習下IntentService,它是一個特殊Service,繼承自Service並且是個抽象類。它可用於執行後臺耗時任務,當任務執行完畢後會自動停止。由於IntentService是服務的原因,所以它的優先級比單純的線程高

原创 android內存泄漏面試知識小結

今天我們來學習Android內存泄漏方面的知識,Java內存泄漏的基礎知識、Android中的常見內存泄漏。 一、java內存泄漏的基礎知識 1、java 內存的分配策略 靜態存儲區: 存放全局變量和靜態數據,在整個程序運行期間都存在;

原创 ListView面試知識小結

今天我們來回顧複習下ListView,它是一個能將數據集合以動態滾動的方式展示到用戶界面上的View。 一、什麼是ListView? ListView是一個能將數據集合以動態滾動的方式展示到用戶界面上的View。 二、ListView 的

原创 Android UI卡頓面試知識小結

今天我們來學習下 Android 中 UI卡頓方面的知識,UI卡頓的原理、UI卡頓的原因分析、UI卡頓的優化。 一、UI卡頓的原理 1、Android系統每隔16ms發出VSYNC信號,觸發對UI進行渲染; 2、View的繪製幀數每秒保持

原创 Handler面試知識小結

前言 今天我們來回顧複習下Handler,處於性能優化的考慮,Android的UI線程是線程不安全的。爲了避免多個線程併發操作UI的引發UI顯示錯亂問題,Android指定只允許在UI線程修改更新UI組件。其他線程更新UI拋出androi

原创 Android Binder 面試知識小結

Binder是Android中的一種跨進程通信方式。從Android Framework 角度來說Binder是ServiceManager連接各種Manager(ActivityManager、WindowManager等等)和相應Ma

原创 Git版本控制面試知識小結

今天我們來學習下Git版本控制的知識,Git是目前世界上最先進的分佈式版本控制系統(沒有之一)。 一、git容易混淆的兩個概念 工作區: 電腦中所看到的文件目錄,project就是一個工作區; gitignore文件: 過濾不需要加入

原创 HandlerThread面試知識小結

今天我們來回顧複習下HandlerThread, 當我們需要執行耗時任務時,需要開啓1個子線程來處理。如果在短時間內需要執行多個耗時任務時,就需要開始多個子線程來處理。多次創建和銷燬線程很損耗系統資源,怎麼解決這個問題呢?這就該今天的主角