Android weakreference vs eventbus可避免内存泄漏?
我正在开发一个应用程序,其中我正在使用翻新库来调用web服务。在调用web服务回调返回响应之后,我将把响应传递给下一个活动。我想知道最好的方法 我是新的记忆相关问题,如果我完全错了,请纠正我 我是否应该创建一个新类,然后向该类传递一个弱引用,并在主活动上从该类调用函数 或 我将在事件总线上注册一个新事件,当回调返回对象时,触发事件并调用函数Android weakreference vs eventbus可避免内存泄漏?,android,design-patterns,memory-leaks,callback,heap-memory,Android,Design Patterns,Memory Leaks,Callback,Heap Memory,我正在开发一个应用程序,其中我正在使用翻新库来调用web服务。在调用web服务回调返回响应之后,我将把响应传递给下一个活动。我想知道最好的方法 我是新的记忆相关问题,如果我完全错了,请纠正我 我是否应该创建一个新类,然后向该类传递一个弱引用,并在主活动上从该类调用函数 或 我将在事件总线上注册一个新事件,当回调返回对象时,触发事件并调用函数 请考虑什么是避免内存泄漏的好方法。 在弱引用中保存回调/侦听器不是一个好主意。看 您可以使用事件总线在完成时“广播”异步操作的结果(在您的案例中是网
请考虑什么是避免内存泄漏的好方法。
在弱引用中保存回调/侦听器不是一个好主意。看GitHubService service = retrofit.create(GitHubService.class);
Call<List<Repo>> repos = service.listRepos("octocat");
repos.enqueue(myCallback)
如果同时对weakReference进行垃圾收集,是否可以接受?执行前?如果用户在同一屏幕上,则当回调发生时,我将获取响应并将用户带到下一屏幕。您好,我喜欢这个答案。是否有其他方法来消除内存泄漏。@Nitin最好的方法是
不导致
内存泄漏。如果您养成了这样的好习惯,即在不再有用时取消注册回调和侦听器,在不需要时跟踪和取消请求,那么您将是安全的。
repos.cancel();