2013-04-02 57 views
1

我創建了一個應用程序,連接到Facebook,也從服務器下載一些圖片和Facebook的個人資料圖片。乾淨的登錄數據

然後,我在我的應用程序中創建了一個退出按鈕,該按鈕從用戶已登錄的帳戶退出。該應用程序然後返回到登錄頁面。

但是,當我從上一個帳戶註銷後再次連接到Facebook時,它顯示OutOfMemory異常。

然後,我將VM堆大小從32 MB增加到48MB,它仍然顯示OutOfMemory異常。

到目前爲止,我如何清除所有下載的數據?當用戶登錄並退出帳戶以避免OutOfMemory異常?

這是我ExitActivity:

public class ExitActivity extends Activity{ 

    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.freinds_listview); 

     Session session = Session.getActiveSession(); 
     if (!session.isClosed()) { 
      session.closeAndClearTokenInformation(); 
     } 

     Intent i = new Intent(getApplicationContext(), MainActivity.class); 

     startActivity(i); 
    } 
} 

回答

0

你可以嘗試使用,當用戶登錄到應用程序的代碼。

File[] files = cacheDir.listFiles(); 
for (File file : files){ 
    file.delete(); 
} 
+0

嗨,謝謝你的回答,什麼是cacheDir?我如何知道緩存的位置?並且,我不知道圖像的下載位置。 –

+0

實際上,我並不完全確定,但試試這個:File cacheDir = context.getCacheDir();如果有效,請告訴我。 – Castiblanco

+0

看這個[答案](http://stackoverflow.com/a/13731305/1905445)。 – Castiblanco