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;
    }
}

相关内容

热门资讯

一秒答解!边锋游戏辅助器,we... 一秒答解!边锋游戏辅助器,wepoker德州作弊辅助挂,详细有挂(有挂了解)-哔哩哔哩边锋游戏辅助器...
记者揭秘(fishpoker)... 记者揭秘(fishpoker)外挂透明挂辅助器安装(系统)发牌机制(2024已更新)(哔哩哔哩)1、...
推荐一款!雀神微信小程序开挂(... 推荐一款!雀神微信小程序开挂(透视)太坑了其实是真的有挂(有挂详情)-哔哩哔哩;亲真的是有正版授权,...
最新技巧!边锋老友麻将有挂(w... 边锋老友麻将有挂赢率提升策略‌;最新技巧!边锋老友麻将有挂(wepoke),太坑了其实真的有挂(有挂...
我来分享(wepoKe)外挂透... 我来分享(wepoKe)外挂透明挂辅助工具(俱乐部)透视辅助(2023已更新)(哔哩哔哩);(需添加...
透明教程!边锋老友二打一有挂,... 透明教程!边锋老友二打一有挂,wepokre透视开挂教程,详细有挂(有挂总结)-哔哩哔哩;建议优先通...
记者发布!雀神小程序辅助app... 记者发布!雀神小程序辅助app(透视)太坑了果真真的有挂(有挂教程)-哔哩哔哩1、不需要AI权限,帮...
透视真的!边锋老友麻将有挂(w... 透视真的!边锋老友麻将有挂(wePoke),太坑了确实真的有挂(有挂规律)-哔哩哔哩1、让任何用户在...
终于知道(We辅poker助)... 终于知道(We辅poker助)外挂透明挂辅助工具(俱乐部)德州ai机器人(2020已更新)(哔哩哔哩...
玩家必备科技!边锋斗地主看底牌... 玩家必备科技!边锋斗地主看底牌软件,修改捕鱼概率辅助app,详细有挂(有挂规律)-哔哩哔哩 科技详细...