繁体   English   中英

Android:减少BackStack内存使用

[英]Android: Reduce BackStack memory usage

我正在创建一个应用程序,它可以使用户完成相当长的,线性的数据捕获过程。 每种活动都会导致针对新主题的新活动,需要为其输入数据。 问题在于某些活动具有许多或大的位图或许多imageButton。 当用户转到下一个活动时,当前活动将被放回栈中,并且不会清除内存。

我正在考虑在用户转到下一个活动时调用“ finish()”,然后如果用户需要返回并在那里更改值,则重写“ onBackPressed()”以重新创建上一个活动。 有没有比这更好的建议了?

您考虑的解​​决方案肯定是正确的。

我唯一的补充(在需要返回活动时重新创建活动)是您不一定需要许多活动。

据我了解,您需要许多布局,每种布局都有其相关的资源。 我要做的是:

  • 创建您的Stage数据类,钻孔布局,位图ID等
  • 用完整的故事创建一个List<Stage>
  • 创建一个活动,该活动知道如何从列表中显示一个阶段,然后遍历其他阶段。 在这里,您可以覆盖后退按钮以用作舞台遍历。

请查看“过渡框架”,以了解如何在以上两个阶段之间进行遍历时对视图进行动画处理。 如果您对至少某些视图使用相同的ID,则它们将独立移动,而其他视图将淡入或淡出。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM