gpt4 book ai didi

android-activity - 具有 Activity 堆栈的全局应用程序类

转载 作者:行者123 更新时间:2023-11-29 02:14:18 25 4
gpt4 key购买 nike

源于这篇文章more efficient way of updating UI from service我想知道我是否可以更进一步并实现以下措施。不过,我可能对我的 Apps 生命周期有误解。

public class MyApplication extends Application {

private static final String TAG = MyApplication.class.getSimpleName();
private static Stack<MyActivity> mActivityStack = new Stack<MyActivity>();
private static String mTopActivity = "none";

public static void pushActivity(MyActivity activity)
{
mActivityStack.push(activity);
mTopActivity = activity.getClass().getSimpleName();
Log.i(TAG, "push::"+mTopActivity);
}

public static void popActivity()
{
Log.i(TAG, "pop::"+mTopActivity);
mActivityStack.pop();
}

@Override
public void onLowMemory() {
super.onLowMemory();
Log.w(TAG, "low memory!!!");
Log.w(TAG, "Current::"+mTopActivity);
}
}

public class MyActivity extends Activity
{
private static final String TAG = MyActivity.class.getSimpleName();

public void onCreate(Bundle last)
{
super.onCreate(last);
MyApplication.pushActivity(this);
}

public void onDestroy()
{
super.onDestroy();
MyApplication.popActivity();
}
}

堆栈在应用程序的生命周期内是否有效?


正如 CommonsWare 所说,这没有成功。此外,从 Activity 派生也不是一个好主意,因为你还必须派生 listactivity、preferenceactivity 等。显然,我认为这不会解决任何问题,它只是 android 生命周期中的一个实验。

最佳答案

Would the stack be valid during the lifecycle of the application?

当然是无效的。您假设每个 Activity 都以相同的顺序创建和销毁。在很多情况下它们不会出现(例如,用户按下 HOME)。

无论您认为您正在以这种方式解决什么问题,无论怎么想,这都不是正确的解决方案。

关于android-activity - 具有 Activity 堆栈的全局应用程序类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5280219/

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