在我的应用程序中,我有一个AsyncTask,它将一些数据上传到服务器,并使用一个接口" FetchCompleteListener"与调用活动进行交互。我写的。
调用活动实现了一个FetchCompleteListener并将自己的实例传递给AsyncTask。
给定的AsyncTask在onPostExecute()中调用FetchCOmpleetListener的onFetchCoMplete
我的问题是 - 在以下情况中会发生什么:
这是内存泄漏的情况吗?当我尝试在onPostExecute()中调用onFetchComplete时,我的应用程序会崩溃吗?
答案 0 :(得分:1)
您应始终将后台任务与您的ui分离。您可以执行以下操作之一:
你的ui将在onResume内注册一个广播接收器(当然在onPause中取消注册),后台任务将发送一个广播,当它被激活时将被ui捕获
您可以将结果排列在某些服务类中(或最适合您的服务类),当相应的ui变为活动状态时,它将从队列中获取结果(基于某些TAG)
您可以使用Otto或greenrobot