2013-04-02 55 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