原创 使用UncaughtExceptionHandler捕捉應用的crash信息

一個Android應用很難做到完全不會出現crash。當應用發生crash時,程序通常會無法繼續運行,但如果能知道發生crash的原因,那麼就可以修復問題。可是很多時候當產品發佈後,用戶在使用過程中發生了crash時,很難獲取到crash

原创 ListView和GridView列表滑動卡頓問題的優化方法彙總

ListView和GridView列表在滑動時出現卡頓現象困擾了很多開發者,下面我們來總結一下優化方案: 1. 使用ViewHolder 在adapter的getView方法中對convertView setTag(viewHolde

原创 封裝android http框架

目前有幾個開源的android http框架,比如volley、android-async-http,對於初學者來說聽上去可能很高大上,實際就是對常用的網絡請求代碼做了一下封裝,看過一套框架源碼以後就會感覺沒那麼複雜,我們完全可以自己封裝

原创 android多線程數據存儲 - ThreadLocal的工作原理

定義 ThreadLocal是一個線程內部的數據存儲類,通過它可以在指定的線程中存儲數據,存儲以後,只能在該線程中可以獲取到存儲的數據,對於其他線程來說無法獲取。 使用場景 某些數據以線程爲作用域並且在不同線程有不同的數據時。比如每個線

原创 android多線程下載

使用單線程下載文件會比較慢,如果使用n個線程,那麼時間就會縮短爲1/n,每個線程只下載其中的一段,都下載完以後再把這n段拼接起來就ok了。下面簡單介紹一下多線程下載的原理和實現。 多線程下載的關鍵是怎樣從服務器只獲取文件的一部分,而不是

原创 IntentService的使用方法和原理

IntentService繼承了Service,它是一個抽象類,用於執行後臺的耗時任務,當任務結束後它會自動停止。由於IntentService是服務,所以它的優先級比普通的線程要高很多,所以它適合執行一些高優先級的後臺任務。 當使用In

原创 android下載的斷點續傳的功能的實現

前一篇博客介紹了android的多線程下載: http://blog.csdn.net/whsdu929/article/details/52351807 下面來介紹一下下載過程中斷點續傳功能的實現。所謂的斷點續傳就是可以在下載過程中隨

原创 使用Scroller實現View的彈性滑動

View有scrollTo、scrollBy方法,但是滑動是瞬時的,比較僵硬。可以通過Scroller來實現View的彈性滑動。 ScrollView就有smoothScrollTo和smoothScrollBy方法,這兩個方法實現的就

原创 git換行符自動轉換導致整個文件被修改的解決方案

不少開發者可能遇到過這個問題:從git上拉取服務端代碼,然後只修改了一處地方,準備提交時,用diff軟件查看,卻發現整個文件都被修改了。這是git自動轉換換行符導致的問題。 原因 不同操作系統使用的換行符是不一樣的。Unix/Linu

原创 View的事件分發機制

要想控制View對點擊事件的響應,就需要了解View的事件分發機制。而View的事件分發機制無非就是研究複寫下面三個方法,只要明白它們的作用原理,就可以隨心所欲的寫出滿足自己意願的交互代碼: 1.dispatchTouchEvent V

原创 【持續更新】android易錯知識點、相見恨晚的知識點整理

下面整理一下本人在android開發過程中遇到過的 易錯知識點、相見恨晚的知識點,本帖會持續更新^_^ 1. ListView的item點擊事件:public void onItemClick(AdapterView<?> parent