我在某处读到,每次调用startActivity()转换到新屏幕时,都会创建该活动的新实例.这立即给我一个红旗.
为了寻找防止此问题的方法,我阅读了有关使用FLAG_ACTIVITY_REORDER_TO_FRONT的内容.但是我有点担心这个方法在我看到的用于在你的应用中打开一个新屏幕的任何教程中都没有使用.所以我想我可能会遗漏一些东西.我的意思是你不总是想确保你没有创建重复的活动吗?这不是一个大问题,不应该教程解决它吗?
我只是想确保我正确地理解和处理这个问题,并使用常用的方法在屏幕之间进行转换.
我理解在某些情况下你打开一个屏幕,做一些事情,然后用finish()关闭它然后回去.但是,如果一个应用程序具有复杂的4级层次结构,并且用户需要能够在屏幕之间跳转?
解决方法:
I mean wouldn’t you always want to make sure you’re not creating a duplicate Activity
大多数情况下,您可能不希望有两个相同活动的实例,但我认为有些人可能会这样做
isn’t this kind of a big deal and shouldn’t tutorials address it
这绝对是Android开发人员需要了解和理解如何使用的东西.我想你可能在教程中看不到很多,因为他们中的大多数教你基础知识来帮助你入门.当开发人员不熟悉AndroID时,他们通常有足够的知识来学习框架.他们通常会告诉你如何做几个屏幕(这通常是有人可能需要的).他们希望您通过阅读文档和使用SO等网站来了解更多详细信息
I understand in some cases you open a screen, do something, then close it using finish() and go back. But if an app has a complex 4 level hIErarchy , and the user needs to be able to jump around between the screens?
是的,很多时候你不会变得太深,因为越容易获得“迷失”的感觉.这就是为什么我喜欢尽可能使用具有对话主题的活动.它给人的感觉是你实际上并没有离开你所在的屏幕.但是,这并没有真正回答你的问题.有许多标志可以与Intent一起使用以防止堆栈增长.你提到的那个工作,我也经常使用Intent.FLAG_ACTIVITY_CLEAR_top,如果我需要清除堆栈中的所有活动并返回到一个单独的Activity.应用程序,用户和开发人员之间可能存在很多不同的情况,您转换和工作流程或导航的方式取决于您(实际上是用户)的需求.
通过询问这些问题,您似乎走在正确的轨道上.想想什么会给用户带来最好和最自然的体验,并在Intent Docs中找到适合您情况的正确旗帜
我希望这能为你解决一些问题.如果你不明白的话,随便问一下
总结以上是内存溢出为你收集整理的如何防止在android中增长活动堆栈全部内容,希望文章能够帮你解决如何防止在android中增长活动堆栈所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)