假设我正在 fragment 中创建和显示 GraphView 图形(有关代码的具体示例,请参见此处:Android/Java creating a helper class to create graphs),实际创建 GraphView 对象或 SensorManager 对象等对象的正确位置在哪里?
我看到有些人把这些项目(例如 sensorManager = (SensorManager) getContext().getSystemService(Context.SENSOR_SERVICE)
)放在 onResume
中,而其他人则把它在 onCreateView
中。它对 CPU/内存使用有很大影响吗?
我知道 onResume
和 onCreateView
在不同的时间被调用,但是假设我在 onResume
中创建了这些对象,我会结束吗每次用户导航到页面或按回页面时都会出现一系列相同的对象?还是 android 会覆盖现有对象,从而控制 RAM 使用情况?
或者将这些行放在 onCreateView
中会更好,这样当用户导航到页面时,设备不需要连续重新创建对象(我假设如果代码在 onResume
)?
最佳答案
您的 UI 初始化应该在 fragment 中的 onCreateView
上完成。例如,初始化您的 GraphView。
在 onCreate
中初始化您想在暂停/恢复时保留状态的组件
关于Android fragment onResume 与 onCreateView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35712104/