我在为不同的 Activity 实现不同类型的启动模式时遇到了设计问题。我有 5 个 Activity 。
视频列表
视频详情
收藏夹列表
视频搜索
视频播放器
当用户启动应用程序时,它会转到显示视频列表的 VideoList。单击任何视频将它们带到视频详细信息。该页面中有两个按钮。播放按钮和添加到收藏夹按钮。我在所有页面上都有一个页脚栏。页脚栏包含三个图像按钮。
1 HOME - 将用户带到首页 - 视频列表页面
2 FAVORITES LIST - 显示收藏视频列表。单击任何一个视频都会将用户带到视频详细信息
3 视频搜索 - 用户可以按艺术家姓名搜索视频。单击任何一个视频都会将用户带到视频详细信息
我的问题是,如果我将所有 Activity 设置为标准,它会占用大量内存。因为用户可以从每个页面打开新 Activity 。
<强>1。我的选择是什么?
<强>2。我可以使用 SingleInstance/SingleTop(针对所有 Activity 或仅针对某些 Activity )吗?
<强>3。我尝试在所有 Activity 中使用 SingleTop。它适用于大多数情况。除了一个。
一个。用户打开应用。
单击视频列表页面中的项目之一。它打开一个新 Activity - VideoDetail
在 VideoDetail 页面中,用户单击收藏夹列表图像按钮,这会打开一个新 Activity FavoritesList。
当用户单击收藏夹中的其中一个视频时,它不会打开新的视频详细信息,而是关闭收藏夹列表并返回到详细信息页面。
请帮忙
提前致谢
马币
最佳答案
如果您想在此实例中使用 SingleTop,则需要将加载视频详细信息的代码从 onCreate
移至 onResume
,因为 VideoDetail Activity 仅在创建时一次,然后在 intent 尝试再次启动它时恢复。
关于Android singletop singleinstance 和 singletask,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2308942/