Android系统安全(四)

本文详细探讨了Android系统的账户管理,包括多用户支持的概述、用户添加、保存、切换、移除的流程及用户类型。此外,还深入讲解了Android的内存安全,分析了内存不足的原因及内存泄露问题,提供了防止内存泄露的解决方案,如避免静态引用、合理使用Bitmap和单例模式等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本博客地址:https://security.blog.youkuaiyun.com/article/details/82924988

六、账户管理

6.1、多用户支持概述

多用户支持机制,对每个用户提供一个隔离的私人环境,从而允许多个用户之间共享一个设备。用户使用互不相同的user ID来识别,并且只有系统才可以在用户间切换。

Android最大支持8个用户,但是只能同时运行3个用户。

Android使用UserManagerService服务管理用户,它负责读取和维护用户信息,并且维护一个活动用户的列表。

6.2、用户添加流程

用户添加是通过调用UserManager的:

public UserInfo createUser(String name, int flags)

方法进行的。其具体实现在UserManagerService的同名方法中。

在调用时,系统进行如下操作:

1、检查调用者是否具有所需权限。
2、对安装和软件包流程加锁,保证线程安全。
3、检查多用户环境是否到达用户数量限制。如果没有,创建用户实例。
4、为新用户创建相关目录。
5、序列化用户列表。
6、发送用户建立广播,MountService在收到此广播后,调用createEmulatedVolumeForUserLocked方法为用户建 立相应的数据目录。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

武天旭

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值