Java 有很多活动可以吗

Java 有很多活动可以吗,java,android,android-activity,Java,Android,Android Activity,我想知道是否有很多活动比在一个活动中有很多不同的逻辑要好 我的困境: 我正在工作中创建一个应用程序,如果我对其中的每个主要实现使用单独的活动(例如5个带有视频播放器的活动,但每个活动都需要一个单独的逻辑,甚至在同一个活动中使用2个视频播放器),那么我将在大约40个活动(如果不是更多的话)的范围内结束。 另一方面,我可以将逻辑(如视频播放器)分离,并将其放入自己的库中,以便可以从任何活动中调用它。但是,如果我在同一个活动中放置类似的项,那么它的代码将运行到几千行,并且很难调试 所以我想我的问题是有

我想知道是否有很多活动比在一个活动中有很多不同的逻辑要好

我的困境: 我正在工作中创建一个应用程序,如果我对其中的每个主要实现使用单独的活动(例如5个带有视频播放器的活动,但每个活动都需要一个单独的逻辑,甚至在同一个活动中使用2个视频播放器),那么我将在大约40个活动(如果不是更多的话)的范围内结束。 另一方面,我可以将逻辑(如视频播放器)分离,并将其放入自己的库中,以便可以从任何活动中调用它。但是,如果我在同一个活动中放置类似的项,那么它的代码将运行到几千行,并且很难调试

所以我想我的问题是有很多活动(活动堆栈最多有8个活动),或者这会显著降低我的应用程序的速度


提前谢谢你的帮助。

应该没问题。加载的活动数量不会影响任何性能(只要它们在内存中为该进程分配)。如果需要,Dalvik GC未使用的对象。

应该可以。加载的活动数量不会影响任何性能(只要它们在内存中为该进程分配)。如果需要,Dalvik GC未使用的对象。

这是否意味着如果我进入活动8,GC可以从活动1中删除所有数据以释放内存?这不是保证。达尔维克会决定的。如果必须这样做,并且有活动1的引用,那么Dalvik将强制关闭您的应用程序。我明白了。所以,任何像我在哪个选项卡上这样的持久数据都需要保存到共享首选项或类似的东西中?假设我有一个视频播放器,在移动到下一级活动时关闭它并清除它的内存,然后在返回时重新创建它是一个好主意吗?是的,这是强烈建议的,而不是将它作为静态数据保存在类中。是的,如果不需要视频播放器引用,并且它没有从其他活动中引用,Dalvik会帮你清理的。你不必担心。如果创建和删除之间的切换较少,那么我建议不要将引用设置为null,否则将引用设置为null。这是否意味着如果我进入活动8,则GC可以删除活动1中的所有数据以释放内存?这是不保证的。达尔维克会决定的。如果必须这样做,并且有活动1的引用,那么Dalvik将强制关闭您的应用程序。我明白了。所以,任何像我在哪个选项卡上这样的持久数据都需要保存到共享首选项或类似的东西中?假设我有一个视频播放器,在移动到下一级活动时关闭它并清除它的内存,然后在返回时重新创建它是一个好主意吗?是的,这是强烈建议的,而不是将它作为静态数据保存在类中。是的,如果不需要视频播放器引用,并且它没有从其他活动中引用,Dalvik会帮你清理的。你不必担心。如果创建和删除之间的切换较少,那么我建议不要将引用设为null,否则将引用设为null。