android – Toast.makeText() – 活动或应用程序上下文
作者:互联网
我已经阅读了几个关于何时使用活动以及何时使用应用程序上下文(例如on this SO post)的讨论.
我想知道使用活动或应用程序上下文对于方法Toast.makeText()有什么影响.
文档仅简要说明参数上下文:
Context: The context to use. Usually your Application or Activity object.
我的问题是
>使用活动上下文时,toast的持续时间是否与活动生命周期绑定?
>内存泄漏是一个严重的问题吗?它们似乎受到吐司持续时间的限制.
还有什么要考虑的?
解决方法:
我只想使用Application上下文.使用您的Activity上下文意味着您的Activity的引用可能会保持活动状态,直到Toast停止显示,这可能会延迟垃圾收集几秒钟.
When using the activity context is the toast’s duration bound to the activity lifecycle?
我没有查看源代码,但我会说它是相反的:您的活动参考将保持到您的Toast停止显示.
Are memory leaks a serious issue?
对,他们是 !在这种情况下,它不会永远泄漏,因为对活动的引用最终将被垃圾收集.您将使用超过严格需要的内存几秒钟,因此ApplicationContext更安全.在所有情况下,我都没有看到在这里使用ApplicationContext的真正缺点.
标签:android,android-context,toast,android-toast 来源: https://codeday.me/bug/20190727/1550979.html