Android 系统多用户模式简介

一、多用户简介

        根据安卓开发者文档的描述,链接:支持多用户|Android 开源项目|Android Open Source Project (google.cn) 。多用户模式最大的用处是一台设备可以给多个不同的用户使用,各个用户都可以安装自己的应用,每个用户的应用数据都是单独保存的。另一个场景是一个用户在前台进行着下载服务,就可以切换到另一个用户去继续使用这台设备而不需要等待下载服务的完成。

        多用户创建后,会获得一个类似恢复出厂设置后的新设备,仅仅只保留系统预装应用,同时部分权限会受到限制。

        原生安卓系统里(基于安卓11),只是做了多用户的基础管理,如果要新增功能,比如密码、头像、用户类型等等,则需要去修改原生安卓设置的代码,或者把此功能集合到自己的设置应用里,然后去适配多用户。本文所有改动基于安卓 11 原生设置,去研究实现系统级的多用户功能,涉及到部分(安卓11)的源码内容。

二、大致原理

        多用户不同于多进程、多线程,前者是本地数据的差异,后两者是运行时内存数据的差异。因此多用户适配,主要是适配本地保存的数据相关的 IO 操作,以及监听多用户切换的事件,包括用户创建、用户切换、用户展示等。

        每个用户的设置和应用程序数据都是相互独立的,用户创建后会切换到一个(类似)新系统,需要用户进行设置,这意味着不同用户之间的设置和数据不会相互干扰或冲突,也意味着系统预装应用需要进行多用户功能的适配。但是,系统中与硬件相关的设置则是共享的,例如网络设置、定时开关机、安全设置等。这些设置配置对所有用户都是相同的、通用的,并且(可以根据需要是否限制)只有系统管理员才能进行更改。

  • 27
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值