gpt4 book ai didi

android - 正确地将 Activity 传递给非 Activity 对象

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:06:41 25 4
gpt4 key购买 nike

在我的应用程序中,我有一个非 Activity 对象,它的作用是作为一个管理器类。很多时候我需要将“源 Activity ”作为参数传递给该管理器类的方法,以便对该 Activity 进行一些操作。

例如,假设我们有 MyActivity,它必须做一些 toast 。所以我有这个名为 MyManager 的管理器类,我在其中有这个方法

raiseToast(Activity sourceActivity) {

Toast.makeText(sourceActivity, demo, Toast.LENGTH_LONG).show();
}

在 Myactivity 类中,我们以这种方式调用该方法:

MyManager manager=new MyManager();
manager.raiseToast(MyActivity.this);

它工作正常。

我在这里要问的是,这是将 Activity 作为参数传递给非 Activity 对象的正确方法吗?我在真实设备(不是模拟器)上有内存泄漏,我想知道这是否也可能导致任何原因?

谢谢伊丹。

最佳答案

您可以尝试在 Activity 中传递 getApplicationContext() 应用程序上下文。为什么你有这个 MyManager 对象?您可以直接从 Activity 中举杯,而无需在单独的类里面举杯。将您的方法 raiseToast() 移动到 Activity 主体并调用它。

编辑:请阅读 http://android-developers.blogspot.com/2009/01/avoiding-memory-leaks.html

关于android - 正确地将 Activity 传递给非 Activity 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2253088/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com