gpt4 book ai didi

android - 调用包含在另一个 android Activity 中的对象的方法

转载 作者:行者123 更新时间:2023-11-29 18:04:37 27 4
gpt4 key购买 nike

在我的应用程序中,当前正在运行的 Activity 需要来自已启动它的 Activity 的数据。父 Activity 有一个对象,需要调用该对象的方法来获取所需的数据。

我是这样做的

在ParentActivity中

public static Puzzle  puzzle;  // Puzzle is a class

在子 Activity 中

Puzzle puzzle = ParentActivity.puzzle;

ArrayList<String> cells = puzzle.getItemList();

这似乎有效。但我不确定这种方法的正确性。它允许在 android 中。android 运行时形式会破坏父 Activity 。

最佳答案

如果 Puzzle 是一些表示数据模型的普通对象,那么只要您认为这只是一个缓存,并且如果 Puzzle 和它的内容相当小。

您的进程在离开前台后可以随时终止。那时,您缓存的 Puzzle 消失了。任何需要生存的数据都需要持久存储:文件、数据库、SharedPreferences、“云”等等。您的静态 Puzzle 可以是持久数据的缓存,但真正的数据模型是持久存储,而不是缓存的 Puzzle

此外,静态数据成员代表有意的内存泄漏。该静态 Puzzle 引用的任何内容都不能被垃圾回收。只要 Puzzle 很小,它就可以工作。这也是为什么 Puzzle 是一个普通的 Object 而不是更复杂的东西(例如 Activity)很重要的原因——越多对象越复杂,泄漏的内存就越多。

关于android - 调用包含在另一个 android Activity 中的对象的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14070813/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com