Android項目的錯誤異常收集日誌記錄

1、Android客戶端日誌上報服務器

         主要是自己定義一個CrashHandler ,然後implements UncaughtExceptionHandler類。來實現捕捉異常。

         其次自己實現一個Application,在其onCreate中註冊CrashHandler,以便於在整個程序中都可以捕捉到異常信息。

        不過也花了點時間在反射上面,每次寫代碼,修改代碼,我都會想盡最大努力把代碼做成通用的,因此父模板要設計好這很重要。通用工具也要寫好。

2、List刪除元素出錯

         在應用中,通常將數據保存到List<>數組,然後設置適配器,如果我們選擇刪除某一條目,那麼除了刪除數據庫記錄數據外還要刪除list中的數據,然後適配器對象調用notifyDataSetChanged();方法進行界面重繪。問題是,在刪除list中的數組時不能直接用remove(),這樣刪除不了對象,即使調用notifyDataSetChanged();,界面也不會有任何刷新。正確的做法應該是使用Iterator遍歷remove(),如下是項目中的例子:

  

<span style="font-size:18px;"> Iterator it = mAviResidentList.iterator();
                while (it.hasNext()) {
                    Object ob = it.next();
                    Resident re = (Resident) ob;
                    //刪除指定remarkId的人員
                    if(re.rmarkId.equals(rmarkId)){
                        it.remove();
                    }
                }</span>

3、在使用Ant編譯APK時報錯:

    這是在編譯javac編譯class文件時報錯,是jdk版本問題,將javac的target和source改爲1.6可行.:


4、硬件加速的問題。

    今天測試人員反饋一個很嚴重的bug,說是從地圖街景返回應用後整個應用都變黑了,包括ActionBar!而且還是隨機事件!怪異得很,街景是第三方公司提供的,數據是另外公司採集提供,找了半天也沒有找出原因,然後打開GPU調試,打開硬件加速整個好了!然後就在應用中加上硬件加速權限了,關於硬件加速可以參考:http://www.360doc.com/content/12/0810/10/7324690_229359583.shtml;

   

5、TextView調用getLineCount()方法總是等於0

   正確的用法是這樣的:查看原文

  

	textview.setText(arr2[position]);
    	textview.post(new Runnable() {
    	    @Override
    	    public void run() {
    	        int lineCnt = textview.getLineCount();
    	        // Perform any actions you want based on the line count here.
    	    }
    	});
    	


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章