网站建设资讯

NEWS

网站建设资讯

android用户,Android用户数据锁定,怎么解开

2021年为止Android系统的用户有多少?

你问的范围太广了,搭载Android系统的设备有电视,平板,汽车,电视盒子智能手表等等,绝大多数智能设备都是android系统,并且就光手机很多人都不止一台android手机,并且可能iphone和iphone双机,所以用户保守估计40亿以上

桥东网站制作公司哪家好,找创新互联!从网页设计、网站建设、微信开发、APP开发、响应式网站开发等网站项目制作,到程序开发,运营维护。创新互联于2013年成立到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选创新互联。

ANDROID 多用户

从 Android L(5.0)开始引入多用户 API。直到目前,基本上都是隐藏 api 或者需要系统签名才能持有”managed_user" 权限。

Android 的这个 “用户” 并不是等同于 linux 下的用户概念。Android 是基于 Linux 的 OS,Linux 下有一套自己的账户管理体系,而 Android 对此有一些封装和改动。同时,Android 也引进了自己的多用户功能。

Linux是多用户系统,每个用户都拥有一个uid,这个uid由系统和用户名做映射绑定。同时,为了便于用户管理(譬如管理文档权限),Linux引入了群组的概念,可以将多个用户归于一个群组。每一个群组拥有一个群组id(gid)。

以第三方应用为例做说明:

一个应用被安装后, 系统给分配唯一的 "Application ID", 简称" AppId "。同时系统中会有多个用户 (User), 每个用户也有一个唯一的 ID 值, 称为" UserId " 。

Android 这里的 "UserId" 跟 Linux 的 UserId 完全不是同一个东西。UserId 10000 + appId 才等于 Linux 下的 UserId, 即进程所属用户的概念, 在 Android 我们通常记做 " uid *",以下以微信为例作为说明:

可以看到微信创建了 2 个进程,其第一列 USER 字段均为 u0_a110,这个 u0_a110 就是 uid(有人也说a110是uid)。

这个字段这样拆解成 int 值:

uid 就对应 Linux 系统里 "进程所属用户的概念"

在 Android 系统里, 我们可以很容易发现:

可以通过 adb shell dumpsys package com.android.systemui | grep "uid" 简单的得到安装应用的uid

通过源码可以看到,UserHandle包含三种概念:userid、uid、appid

userid :就是有多少个实际的用户,即手机里的主机、访客等多用户。

uid :上文讲过他跟应用进程相关,除了shareduid的应用,每个用户的每个应用的uid不一样的。

appid :跟app相关,包名相同的appid都一样,即使是不同用户。

安卓用户是什么意思?

安卓用户即使用智能设备为安卓系统(android系统)的用户群。

当前市面上的智能设备产品最常用的是三个系统,分别为:安卓系统(由谷歌提供服务,涵盖各大手机厂家 比如三星,华为,小米等等,用户范围最广),IOS系统(苹果系列的电子数码产品),和WP8系统(原诺基亚团队开发,现由微软提供)。

Google公司开发的操作系统,Android(安卓系统)是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。尚未有统一中文名称,中国大陆地区较多人使用“安卓”或“安致”。Android操作系统最初由Andy Rubin开发,主要支持手机。

2005年8月由Google收购注资。2007年11月,Google与84家硬件制造商、软件开发商及电信营运商组建开放手机联盟共同研发改良Android系统。随后Google以Apache开源许可证的授权方式,发布了Android的源代码。第一部Android智能手机发布于2008年10月。Android逐渐扩展到平板电脑及其他领域上,如电视、数码相机、游戏机等。2011年第一季度,Android在全球的市场份额首次超过塞班系统,跃居全球第一。 2013年的第四季度,Android平台手机的全球市场份额已经达到78.1%。2013年09月24日谷歌开发的操作系统Android在迎来了5岁生日,全世界采用这款系统的设备数量已经达到10亿台。

获取当前使用Android的用户的Id

我们知道,Android 基于Linux,是多用户操作系统,我们使用 adb 工具测试时,经常使用 root 身份。那么,我们日常开机使用时,登录的用户id是什么呢?可以通过如下方式获取到当前正在运行的用户。

执行 adb shell pm list users 可以看到

其中 **0 ** 表示 user Id, 这条记录表示当前正在运行的帐号的 user id 是0,用户名是 name。

Android多用户模式(手机分身)研究

最近使用小米手机的分身功能。里面就装了个游戏。在分系统中是可以一键切换的。所以我想能不能利用这套机制,沙箱运行耗电app如西瓜视频(因为常驻后台)从而达到省电的效果。本人redmi k30U没有感觉很经用。

这只是设想,想要知道能不能省,弄清分系统运行原理就知道啦。

下面是摘自网络:

手机分身基于安卓多用户技术,但两者设计理念不同。谷歌多用户设计理念是一台手机多人使用,就好比“公共手机”概念。

我们大多数将手机视为私人物品,不可能公共。于是我们重构一个设计逻辑。

如果套用当下很流行的“平行空间”一说,我们可以称多用户是相当于开启了两个平行空间,而MIUI 8的手机分身则并非两个平行空间,而是“一高一低”,低的是一个私密空间。在这个私密空间内,拥有的权限与初始空间不一样。用户可以放心的在里面存储任何东西,不必担心信息泄露。同时这个私密空间又类似于一个“沙箱”,在这个“沙箱”内进行任何的操作,都不会对手机初始空间造成影响。

很多人很奇怪我们的手机分身会不会占用多余的手机空间,甚至拖慢手机性能。误认为手机分身等于一个“双系统”,或者是开了一个“虚拟机”。

其实手机分身就好比一个虚拟桌面,有一部分共用的安卓内存,大约为700-800MB。在未开启初分身时,初始空间占用的运行内存大约为400-600MB,在开启了手机分身后,运行内存变化就好比一个跷跷板,初始空间所占内存下降至200MB,分身空间占用内存到400MB。

在切回初始空间后,分身空间占用内存为200MB,初始空间变为400M。两者大小发生变更,总量依旧不变。开启手机分身后的占用内存与未开启手机分身所占内存基本一致,为1.5G。

由于手机运行内存总量不变,开启多个APP肯定要占用更多的常驻内存。所以,如果在分身空间内开启过多应用,依旧会导致手机卡慢。

为了避免这种情况的发生,工程师们便限制在分身中使用应用双开,防止开启过多的常驻内存的应用(如微信、微博)。而所占的存储空间也是安装多少APP,就算多大APP的占用空间,存储空间绝不会“对半分”。

时间原因,目前就写到这了。其实从上面的描述可以得知:分身app会常驻内存。但是耗电呢?个人的判断。android是有froze功能的,就是将系统序列化到磁盘。让系统进入休眠态。个人猜测是不会耗电的。


当前标题:android用户,Android用户数据锁定,怎么解开
当前地址:http://cdweb.net/article/dsgepie.html