原创 Android性能優化-內存泄漏(下)

如何進行內存泄漏的分析 使用Android Studio Monitors AndroidMonitors是Android Studio自帶的功能,我們可以通過裏面的Memory模塊來進行內存泄漏的分析,平時開發我們也可以通過該模塊

原创 設計模式之裝飾者模式

模式定義: 動態地將責任附加到對象上。若要擴展功能,裝飾者提供了比繼承更加有彈性的替代方案。 模式結構: 模式實現: public class DecorationMode { /** * 基類

原创 UML類圖幾種關係的總結

在UML類圖中,常見的有以下幾種關係:泛化(Generalization),  實現(Realization),關聯(Association),聚合(Aggregation),組合(Composition),依賴(Dependency)

原创 java實現簡單的隊列和棧

棧: class Stack<T> { /** * 存儲數據 */ private Object[] data; /** * 棧頂值及元

原创 《深入理解java虛擬機》讀書筆記

1. 運行時數據區域 1.1 程序計數器 a、線程私有的內存區域 b、可以看作是當前線程所執行的字節碼的行號指示器,通過它來取下一條需要執行的指令 c、Java虛擬機的多線程是通過線程輪流切換並分配處理器執行時間的方式來實現的,

原创 Activity啓動流程總結

一、Android系統進程簡介 1、Android系統進程啓動方式:init進程 –> Zygote進程 –> SystemServer進程 –>各種應用進程 2、init進程:linux的根進程,android系統是基於linux系統的

原创 ListView與Adapter部分源碼解析

1. adapter.notifyDataSetChange ()    此方法是BaseAdapter下面的方法:public abstract class BaseAdapter implements ListAdapter, Spi

原创 設計模式之Build模式

模式定義: 將一個複雜對象的構建與他的表示分離,即允許用戶不知道內部構建細節的情況下,可以精確的控制對象的構建流程。 模式結構: 略 模式實現: public class BuildModel { @Test

原创 Dalvik與ART

1. Android Runtime (ART) 是運行 Android 5.0(API 級別 21)及更高版本的設備的默認運行時2. 調用 System.getProperty("java.vm.version") 來驗證正在使用哪種運

原创 《Android源碼設計模式解析與實戰》讀書筆記

1. onSaveInstanceState() 調用時機:當系統存在“未經許可”時銷燬了我們的Activity,則此方法會被調用。如以下幾種可能發生的情況。 a:用戶按下Home鍵b:長按Home鍵,選擇其他運行的程序c:屏幕方法切換

原创 設計模式之迭代器模式

模式定義: 迭代器模式提供一種方法順序訪問一個聚合對象中的各個元素,而不是暴露其內部的表示 迭代器模式把在元素之間遊走的責任交給迭代器,而不是聚合對象 模式結構: 模式實現: public class IteratorMo

原创 Android圖片壓縮(質量壓縮和尺寸壓縮)

Android中圖片是以bitmap形式存在的,那麼bitmap所佔內存,直接影響到了應用所佔內存大小,首先要知道bitmap所佔內存大小計算方式: 圖片長度 x 圖片寬度 x 一個像素點佔用的字節數 以下是圖片的壓縮格式:

原创 Android項目構建過程

轉自: http://blog.csdn.net/qq_23547831/article/details/50634435 平時開發過程中我們通過android studio編寫完成android項目之後直接點擊 Run ‘app

原创 開發問題筆記

1. VideoView在設置match_parent的情況下無法全屏顯示 重寫VideoView的onMeasure方法。 @Override protected void onMeasure(int widthMeasureSpec

原创 自定義控件之幀動畫

看到了這篇文章的標題,你也大概知道了這篇文章主要講什麼:利用原生的<animation-list>標籤配置幀動畫時,如果圖片過大,或者圖片過多,就會OOM。所以,爲了避免這樣情況,有以下兩種方式: 1. 讓UI把幀動畫設計成gif動畫,然