原创 線性表數據結構解讀(二)鏈式存儲結構LinkedList

    在上一篇文章中,我們詳細介紹了線性表數據結構的原理以及順序存儲結構,並結合ArrayList源碼進行了分析,相關文章大家可以點擊這裏回看我的博客:線性表數據結構解讀(一)順序存儲結構ArrayList     本篇文章,

原创 線性表數據結構解讀(一)順序存儲結構ArrayList

線性表     線性表:零個或多個具有相同類型的數據元素的有限序列。數據元素的個數稱爲線性表的長度。 A=(a1,a2,……ai-1,ai,ai+1,……,an); ● A代表一個線性表 ● ai(1<=i<=n)成爲線性

原创 LinkedHashMap最佳實踐:LruCache

    一句話解釋:LruCache(least recently used cache)最近最少使用緩存。     前面,我們一起學習了LinkedHashMap數據結構,那麼LruCache就是LinkedHashMap的最

原创 Android熱修復(Hot Fix)案例全剖析(二)

    在上篇博客中,我們初步瞭解了Android熱修復的基本流程,具體可以看我的博客Android熱修復(Hot Fix)案例全剖析(一),那麼本篇博客,我將爲大家全面剖析Android熱修復的實現案例。 1.將下載的修復補丁拷

原创 Android增量更新流程講解

爲什麼需要增量更新:節省流量,節省流量,節省流量,重要的事情說三遍!     增量更新不僅可以讓用戶在客戶端實現省流量更新,更重要的是增量更新還可以實現服務器端流量的節省,爲網站節省成本。 增量更新的原理     服務端將應用的舊

原创 線性表數據結構解讀(三)棧結構Stack

    在上一篇文章中,我們詳細介紹了鏈式存儲結構,並結合LinkedList源碼進行了分析,相關文章大家可以點擊這裏回看我的博客:線性表數據結構解讀(二)鏈式存儲結構LinkedList 棧的定義     棧是一種特殊的線性表,

原创 Android研發安全1-Activity組件安全(上)

       Activity組件是用戶唯一能看見的組件,作爲軟件所有功能的顯示載體,其安全性不言而喻。針對Activity組件安全,作爲一個安卓開發者來講需要在日常開發過程中注意兩點: - Activity訪問權限的控制 -

原创 Android NDK學習筆記15-配置AndroidStudio

    現在大家越來越多的使用AndroidStudio進行Android開發,那麼今天就和大家一起交流一下AndroidStudio開發NDK的配置方法。 AndroidStudio配置NDK 通常我們有兩種方法實現配置 1手動

原创 線性表數據結構解讀(四)隊列結構Queue

    在上一篇文章中,我們詳細介紹了棧結構,並結合Stack源碼進行了分析,相關文章大家可以點擊這裏回看我的博客:線性表數據結構解讀(三)棧結構Stack 隊列的定義     隊列是一種插入和刪除分別在兩端進行操作的線性表,一端

原创 詳解Android插件化開發-資源訪問

    動態加載技術(也叫插件化技術),當項目越來越龐大的時候,我們通過插件化開發不僅可以減輕應用的內存和CPU佔用,還可以實現熱插拔,即在不發佈新版本的情況下更新某些模塊。     通常我們把安卓資源文件製作成插件的形式,無外

原创 ant構建異常UNEXPECTED TOP-LEVEL EXCEPTION com.android.dx.cf.iface.ParseException解決

最近在一臺老的電腦用ant構建項目,跑了下ant命令後,發現老是提示UNEXPECTED TOP-LEVEL EXCEPTION異常,具體異常描述 [exec] UNEXPECTED TOP-LEVEL EXCEPTION [ex

原创 線性表數據結構解讀(五)哈希表結構-HashMap

    前面的博客中,我給大家分析過數組和鏈表兩種線性表數據結構。數組存儲區間連續,查找方便,但是插入和刪除效率低下;鏈表存儲區間離散,插入刪除方便,但是查找困難。大家肯定會問,有沒有一種結構,既能做到查找便捷,又能做到插入刪除方

原创 Android熱修復(Hot Fix)案例全剖析(一)

    說到熱修復技術,我們不得不先談一下什麼是冷修復。 冷修復     當我們發現上線的應用APK存在Bug,我們通過發佈新的應用APK,去替換舊的應用APK,以達到解決Bug的目的,但是這樣做存在很大的缺點,需要用戶二次下載A

原创 System.arraycopy()從指定源數組中複製一個數組

System類提供了一個arraycopy()方法 public static void arraycopy(Object src, int srcPos,

原创 getApplication()和getApplicationContext()區別

相同 二者使用結果相同,我們寫個代碼分別打印二者返回結果,發現兩個方法獲取的是同一個對象。 public class MainActivity extends Activity { @Override prote