ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

小米中级Android面经:ViewModel的生命周期、Android内存优化、Compose的状态管理

小米中级Android面经:ViewModel的生命周期、Android内存优化、Compose的状态管理 小米中级Android面试:小米Android开发覆盖MIUI系统定制、IoT设备互联。技术栈偏底层,面试官喜欢问系统级原理和性能数据。技术方向偏向MIUI定制、IoT互联。特色专项包括MIUI系统定制与IoT设备开发。今天8道题覆盖小米中级Android面试核心考点。Q1:ViewModel的生命周期和设计原理?ViewModel独立于View的配置变化——屏幕旋转时Activity重建但ViewModel不变(存在ViewModelStore中)。Activity真正finish时才调onCleared()。核心禁忌:不能持有View/Activity/Context引用(用AndroidViewModel可以持有Application)。SavedStateHandle用于进程重建后恢复数据(底层是Bundle序列化)。class MyVM(private val repo: Repository, savedState: SavedStateHandle) : ViewModel() { val query = savedState.getLiveDatalt;Stringgt;("query") fun search(q: String) { savedState["query"] = q viewModelScope.launch { _result.value = repo.search(q) } } }追问:ViewModel怎么在进程重建后恢复数据?通过SavedStateHandle——在构造时从savedState中取值,内部存
返回列表