error: Found text " " where item tag is expected
如果你是自己建立的一個檔案,裡面自己寫<string name="key">value</string>然後再拷貝到strings.xml中,或者從別的文檔中拷貝粘貼的,,則可能會出現上述為題,非常噁心
這個錯誤的原因是空格的格式不正確而引起的
解決方案:
1.在eclipse編輯器中重寫一遍<string name="key">value</string>標籤拷貝出去,在裡面填入value
2.刪除空格。拷貝後,將每一行按delete鍵返回到上一行的行尾,然後斷行符號使其自動對其,同時也就刪除了非法的空格
網上還看到了如下的解決方案,類似所以為瞭解決這個問題,建議: 1.檢查是否存在不必要的空格,如有即刪。如果不行,那麼2;2.重新進行複製粘帖,盡量不要使用不同的文檔格式。如果不行,那麼3;3.Replace所有xml文檔中whitespace with你手工敲出的space. 如果不行,那麼4;4.自己手工重新編輯一遍。 這類錯誤可以試試用MS word or excel調用一下文檔,看是否空格格式錯誤。
補充說明一下:類似的錯誤(xml文檔中空格格式錯誤)還會gen檔案夾中R.java出現
Syntax error on tokens, delete these tokens
的報錯。同樣通過以上的方法可以解決這個錯誤。 Activity has leaked window that was originally added情境:在應用中處理耗時操作時,比如網路操作等為了增加使用者體驗,會使用線程+handler或android提供的AsyncTask來解決問題,一般是自訂Dialog或ProgressDialog顯示進度。而這種異常就經常出現在這種情境原因:一個老外的解釋:Views have a reference to their parent Context (taken from constructor argument). If you leave an Activity without destroying Dialogs and other dynamically created Views, they still hold this reference to your Activity (if you created with this as Context: like new ProgressDialog(this)), so it cannot be collected by the GC, causing a memory leak.主要是由於存在視窗控制代碼泄漏,在銷毀activity時沒有銷毀掉某個PhoneWindow(即Dialog) View擁有它所在的Context的引用(通過建構函式的參數獲得),當退出Activity沒有關閉動態建立的View(如Dialog),它會一直擁有Context的引用,從而不能被GC回收,從而導致記憶體泄露。知道原因就好辦了,我們在Activity中的OnDestroy()方法中釋放資源就OK了,以下是我這種情況下的解決辦法,其它控制項也類似。解決辦法:
@Override
protected void onDestroy() {
if(refreshPd!=null)
{
refreshPd.dismiss();
}
super.onDestroy();
}