Fragments作为静态内部类与独立公共类背后的设计逻辑是什么?
我无法理解我刚刚开始的Android软件设计的一个重要方面,从我所知道的设计已被采用以分离代码,其中直觉是,保持原样并且可以在其他地方重用,甚至可能在不同的活动中,或者可能与其他片段一起, 在类似于大纲/细节流或横向 UI 的内容中。Fragment
Activity
Fragment
好吧,所以我在SO上看到了相当多的问题,询问为什么在a中作为静态内部类放置,答案是,如果我们不使它们保持静态,则可能会包含对活动的引用,并且诸如屏幕旋转或重新绘制之类的东西可能会泄漏活动或其他内容。Fragments
Activity
Fragment
这让我回到了原点,我有一个问题,好吧,如果为了解耦代码而采用了Fragment设计,那么为什么我们要通过将它放在活动类中而不是将它们作为独立的公共类来将它与它结合起来呢?这难道不是完全与碎片的存在相矛盾吗?Fragment
Activity
拥有这样的项目结构的缺点是什么?其中每个都是自己的独立类?鉴于我的Fraction代码可以增长到1000行,特别是在尝试制作动画时,我认为这在活动中更加整洁,解耦和可重用,而不是预期的父活动。Fragment
- 我们是否仍然遭受上述内存泄漏问题的困扰?
- 我是否遗漏了有关设计逻辑的某些内容?请教育我。
- 有没有办法让碎片作为一个内部类保留下来,并在其他地方使用?我可能也错过了一些东西...所以请通知我。
任何其他项目设计方法,概念,对我的直觉的纠正都非常欢迎,因为我刚刚开始在这里,我很想知道我的所有选择。
谢谢:)