原创 BitMap加載、壓縮、緩存

加載圖片: 壓縮圖片: (1)加載大尺寸圖片時,採樣壓縮 很多時候ImageView尺寸小於圖片原始尺寸,沒必要把原始圖片全部加載到內存,可能造成oom,並且ImageView也沒辦法全部顯示原始圖片,採樣壓縮將縮小後的圖片在Imag

原创 Android中圖片佔用內存計算

轉自:http://blog.163.com/hero_213/blog/static/39891214201412621834253/ Android中有四種,分別是: ALPHA_8:每個像素佔用1byte內存 ARGB_

原创 Android應用的私有數據被其他應用訪問

私有數據是否允許其他應用訪問,取決於文件創建時,文件的創建者給文件賦予的權限,也就是指定的mod值。 其他應用如何訪問本應用的私有數據?如果當前應用私有文件可讀或者可寫的話,根據當前應用包名創建這個包的上下文,其他應用通過這個Cont

原创 Android進程優先級以及線程間通信方式

Android中的進程 默認情況下, 同一個application中的所有component運行在同一個linux進程下. 啓動一個component A時, 如果已存在處於運行狀態中的component B, 且A和B屬於同一個appl

原创 Android內存泄露分析工具MAT

轉自:http://blog.csdn.net/aaa2832/article/details/19419679 1 內存泄漏的排查方法 Dalvik Debug Monitor Server (DDMS) 是 ADT插件的一部

原创 Android中View的繪製流程以及View的優化

Measure過程 measure用來測量view的寬和高,performTraversals()調用performMeasure()完成頂級View(DectorView)的測量,在performMeasure()中調用measure(

原创 Android多進程使用場景

1 如何使組件運行在其他進程中 正常情況下,一個apk啓動後只會運行在一個進程中,其進程名爲AndroidManifest.xml文件中指定的應用包名,所有的基本組件都會在這個進程中運行。但是如果需要將四大組件運行在單獨的進程中,就需要

原创 Android中的ImageLoader實現思路

具備的功能: 1 圖片的同步加載,開啓一個子線程一張接一張的加載圖片 2 圖片的異步加載,開啓多個子線程同時加載圖片,一個線程加載一張 3 圖片的壓縮 4 圖片的緩存,包括內存緩存、磁盤緩存 5 圖片的下載 提供兩個接口,圖片同步加載的接

原创 Android中如何在子線程執行任務完成後更新UI

1 AsyncTask(或者Thread)+Handler 啓動子線程,子線程執行完任務後,通過Handler給主線程中的Looper發送消息 2 Activity.runOnUiThread(Runnable r) 在Activity

原创 Android中物理返回鍵的重寫方法

重寫onBackPressed()或者onKeyDown(intkeyCode, KeyEvent event) 注意兩個方法不能同時重寫 點贊 收藏 分享 文章舉報 Mr-X

原创 EventBus使用

EventBus是實現事件訂閱和發佈的一個開源庫,可以在Android各個組件之間傳遞消息和處理消息,EventBus可以降低發送者和接收者之間的耦合度。 使用的時候,需要先實現一個事件類,然後在需要訂閱事件的組件中調用EventBus實

原创 Android Binder機制

Android系統的虛擬地址內存分爲用戶空間和內核空間,用戶空間是非共享的,只讓應用自己訪問,內核空間是共享的,Binder通過共享內核空間實現進程間通信。 Binder把進程A生成的IPC數據(在用戶空間生成),傳遞給BinderD

原创 Android中數據存儲方式

本質來說分三種:保存在sdcard上(手機自帶的磁盤);手機內置內存(即data/data/目錄);運行時內存(list、map) 點贊 收藏 分享 文章舉報 Mr-Xi

原创 Android多線程下載SDK的設計,支持斷點續傳

5確定了每個線程負責下載的區間,建立線程集合,存放所有工作線程,還要建立數據庫存儲每個線程這次下載的文件塊的第一個字節、最後一個字節、本次下載的容量,線程的id(用於標記線程)、URL地址。然後啓動多個線程,發送HTTP請求獲取數據,

原创 Android中進程間通信方式(IPC)

1使用Bundle Bundle實現了Parcelable接口,可以在不同進程間傳遞,在Bundle中附加數據,通過intent可以由一個進程的組件啓動另一個進程的組件。 2 使用文件 一個進程在文件中寫入數據,其他進程再讀取(涉及到寫操