1. 程式人生 > >Android 匯入專案時出現的各類錯誤(紅色感嘆號)

Android 匯入專案時出現的各類錯誤(紅色感嘆號)

1、當import一個新的android專案時,專案名稱上出現一個紅色的感嘆號,程式不能執行。

原因:工程中classpath中指向的包路徑錯誤。

解決方法:在專案名稱上點右鍵選擇Properties,然後選擇Java Bulid Path中的libraries選項,其中出現紅色x號的路徑為錯誤路徑,刪除之後,通過Add External Jars新增正確路徑,點選確定之後,在Package Explorer中重新整理一下。

2、當點選Eclipse中的Properties中的Android選項時,出現“the currently displayed page contains invalid values”。

原因:專案丟失了default.properties檔案所致。

解決方法:從其他專案中重新拷貝一個default.properties檔案,並修改檔案中的target值。或者,將專案根目錄下的project.properties改名為default.properties。

3、引入一個新的專案後,丟失android.jar檔案。

解決方法:在專案名稱上點右鍵,選擇Properties,再選擇Android,再在其中選擇一個project build target,點確定之後,如還有問題,嘗試在專案名稱上點右鍵,然後選擇Android Tools,再點 Fix Project properties。

4、出現leak window錯誤。

原因:Android的每一個Activity都有個WindowManager窗體管理器,同樣,構建在某個Activity之上的對話方塊、PopupWindow也有相應的WindowManager窗體管理器。因為對話方塊、PopupWindown不能脫離Activity而單獨存在著,所以當某個Dialog或者某個PopupWindow正在顯示的時候我們去finish()了承載該Dialog(或PopupWindow)的Activity時,就會拋Window Leaked異常了,因為這個Dialog(或PopupWindow)的WindowManager已經沒有誰可以附屬了,所以它的窗體管理器已經洩漏了。
解決方法:關閉(finish)某個Activity前,要確保附屬在上面的Dialog或PopupWindow已經關閉(dismiss)了。
   

@Override
     public void onPause(){
        super.onPause();
        if(pw != null) {
             pw.dismiss();
        }
     }

5、Eclipse中顯示行號

在程式碼編寫區的靠近左側邊框處,點右鍵選擇Show Line Numbers,即可顯示行號。

6、在使用ImageView的setImageResource(int res id)方法時遇到一個java.lang.OutOfMemoryError:bitmap size exceeds VM budget錯誤。

原因:圖片佔用的記憶體超出了系統分配的最大記憶體限制,導致記憶體溢位。

解決方法:使用BitmapFactory的帶有Options引數的方法解析圖片資源,具體如程式碼:

[java] view plaincopyprint? <p></p><pre name=”code”>BitmapFactoty.options opts = new BitmapFactory.Options();
opts.inSampleSize = 4;
Bitmap bitmap = BitmapFactory.decodeResource(Resources res, int   id,opts);

當然當bitmap不用的時候,應該強制回收一下,具體如下:

[java] view plaincopyprint? if(bitmap != null && !bitmap.isRecycled()){
bitmap.recycle();
}