Android 片段 onResume 与 onCreateView
Android fragment onResume vs. onCreateView
假设我正在片段中创建和显示 GraphView 图(有关代码的具体示例,请参见此处:),实际创建 GraphView 对象等对象的正确位置在哪里,或 SensorManager 对象?
我看到有些人将这些项目(例如 sensorManager = (SensorManager) getContext().getSystemService(Context.SENSOR_SERVICE)
)放在 onResume
中,而其他人则将其放在 onCreateView
中。对CPU/ram使用有很大影响吗?
我知道 onResume
和 onCreateView
在不同的时间被调用,但是假设我在 onResume
中创建了这些对象,我最终会得到一系列的每次用户导航到页面或按回页面时都是同一个对象?还是 android 覆盖现有对象,从而控制 RAM 使用情况?
或者将这些行放在 onCreateView
中会更好,这样当用户导航到页面时,设备不需要连续重新创建对象(我假设如果代码在 onResume
)?
您的 UI 初始化应该在片段中的 onCreateView
上完成。例如初始化您的 GraphView。
初始化要在 onCreate
内的 pause/resume 上保留状态的组件
假设我正在片段中创建和显示 GraphView 图(有关代码的具体示例,请参见此处:
我看到有些人将这些项目(例如 sensorManager = (SensorManager) getContext().getSystemService(Context.SENSOR_SERVICE)
)放在 onResume
中,而其他人则将其放在 onCreateView
中。对CPU/ram使用有很大影响吗?
我知道 onResume
和 onCreateView
在不同的时间被调用,但是假设我在 onResume
中创建了这些对象,我最终会得到一系列的每次用户导航到页面或按回页面时都是同一个对象?还是 android 覆盖现有对象,从而控制 RAM 使用情况?
或者将这些行放在 onCreateView
中会更好,这样当用户导航到页面时,设备不需要连续重新创建对象(我假设如果代码在 onResume
)?
您的 UI 初始化应该在片段中的 onCreateView
上完成。例如初始化您的 GraphView。
初始化要在 onCreate