原创 Android 應用性能優化--資源圖片的內存管理

綜述 圖片從來源上可以分成三大類:網絡圖片、手機存儲中(EMMC 和Sdcard)的圖片、APK資源圖片,目前有很多成熟的圖片加載庫,主流的有Picasso 、Glide 、Fresco。但是沒有覆蓋APK資源圖片的管理。 資源圖

原创 Android Service的生命週期

Manage the Lifecycle of Service What is Service ? Service 是一個可以在後臺執行長時間運行操作而不提供用戶界面的應用組件。服務可由其他應用組件啓動,而且即使用戶切換到其他應用

原创 Android多線程斷點續傳原理解析

在下載大文件的時候,我們往往要使用多線程斷點續傳,保證數據的完整性,首先說多線程,我們要多線程下載一個大文件,就有開啓多個線程,多個connection,既然是一個文件分開幾個線程來下載,那肯定就是一個線程下載一個部分,如果文件的

原创 Android 源碼解析-AsyncTask

我們都知道Android 的子線程中是不能更新UI 的(當然也不是絕對的,在初始化的某個時機是可以的,稍後會根據源碼進行分析爲什麼可以,期待吧),如果想要在子線程裏進行UI操作,就需要藉助Android的異步消息處理機制。爲了更方

原创 Java 對象克隆(clone)

基本數據類型(boolean,char,byte,short,float,double,long)的複製很簡單,比如: int width = 5; int height = width; 基本數據類型進行這樣複製是沒有問題的。

原创 n級階梯,每次走一步或兩步,問最多有多少種走法

重要的是理解這個邏輯, 第n布,走一步,即n-1,再求n-1個階梯的走法, 走兩步,即n-2,再求n-2個階梯的走法, 以此,n級階梯的走法是n-1個階梯的走法與n-2個階梯的走法的和。 Java 代碼實現如下: 方法一 時

原创 深入理解 Android 系統升級

前言 2013年7月至2015年6月在長虹擔任Android系統研發工程師,主要負責長虹智能電視升級(OTA升級),研發平臺是MST 628 和 MTK 5327等。 摘要 隨着Android系統的快速發展,越來越多的智能終端設備

原创 Java 源碼解析-ThreadLocal

ThreadLocal相當於提供了一種線程隔離,將變量與線程相綁定,它可以保證訪問到的變量屬於當前線程,每個線程都保存有一個變量副本,每個線程的變量都不同,而同一個線程在任何時候訪問這個本地變量的結果都是一致的。當此線程結束生命週

原创 Android 源碼解析- Handler 實現機制

源碼是Android API 25 Handler 、 Looper 、Message 這三者到底有什麼樣的關係?什麼叫異步消息處理線程呢?本文將在源碼層面進行分析。 Android UI是線程不安全的,如果在子線程中嘗試進行UI

原创 Java 排序算法-歸併排序

算法思想 歸併排序(MergeSort)是將兩個(或兩個以上)有序表合併成一個新的有序表,即把待排序序列分爲若干個子序列,每個子序列是有序的。然後再把有序子序列合併爲整體有序序列。 歸併排序是建立在歸併操作上的一種有效的排序算法。