AndroidStudio中的ViewModel是如何在后台处理配置更改的?
创始人
2024-08-20 20:30:17
0

当配置更改发生时,ViewModel会将其保存在ViewModelStore中,以便在重新创建Activity或Fragment时保留其数据。可以使用ViewModelProvider工厂类来获取ViewModel实例,而不需要手动创建新的ViewModel实例。以下是一个示例代码:

public class MainActivity extends AppCompatActivity {

    private MyViewModel myViewModel;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        // 获取ViewModel实例
        myViewModel = new ViewModelProvider(this).get(MyViewModel.class);

        // 操作ViewModel数据
        myViewModel.setData("Hello, World!");

        // 获取ViewModel数据
        String data = myViewModel.getData();
    }

    @Override
    protected void onDestroy() {
        super.onDestroy();

        // ViewModelStore销毁之前调用ViewModel的onCleared()方法来清理资源
        myViewModel.onCleared();
    }
}

public class MyViewModel extends ViewModel {

    // 实例化数据
    private String data;

    public String getData() {
        return data;
    }

    public void setData(String data) {
        this.data = data;
    }

    // ViewModelStore销毁之前调用的方法
    @Override
    protected void onCleared() {
        super.onCleared();

        // 清理资源
        data = null;
    }
}

相关内容

热门资讯

重磅来袭!aapoker辅助挂... 重磅来袭!aapoker辅助挂多功能透视工具,其实是真的有挂(有挂解密)1、完成aapoker辅助器...
一分钟揭秘!红龙poker辅助... 一分钟揭秘!红龙poker辅助挂多功能透视工具,本来存在有挂(有挂技巧)1、红龙poker辅助器安装...
推荐几款新版!智星菠萝德州辅助... 推荐几款新版!智星菠萝德州辅助挂多功能透视工具,其实有挂(有挂实锤)1、玩家可以在智星菠萝德州线上大...
最新技巧!智星菠萝德州辅助挂多... 最新技巧!智星菠萝德州辅助挂多功能透视工具,一直是真的有挂(有挂解密)1、智星菠萝德州模拟器是什么优...
六分钟了解!wepoker辅助... 六分钟了解!wepoker辅助挂多功能透视工具,都是是有挂(有挂解密)1、wepoker公共底牌简单...
今日重大通报!德普之星辅助挂多... 今日重大通报!德普之星辅助挂多功能透视工具,本来真的是有挂(有挂教程)该软件可以轻松地帮助玩家将德普...
最新研发!wpk辅助挂多功能透... 最新研发!wpk辅助挂多功能透视工具,本来真的是有挂(确实有挂)运wpk辅助工具,进入游戏界面。进入...
玩家交流!智星德州扑克辅助挂多... 玩家交流!智星德州扑克辅助挂多功能透视工具,都是有挂(的确有挂)亲,关键说明,智星德州扑克透视脚本安...
科技介绍!AAPoKer辅助挂... 科技介绍!AAPoKer辅助挂多功能透视工具,原来存在有挂(有挂总结)1、让任何用户在无需AAPoK...
一分钟教你!德扑之星辅助挂多功... 一分钟教你!德扑之星辅助挂多功能透视工具,其实是真的有挂(有挂规律)1、下载好德扑之星透视辅助下载之...