重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
一、应用不同
为原州等地区用户提供了全套网页设计制作服务,及原州网站建设行业解决方案。主营业务为网站建设、网站制作、原州网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!
1、Android P:目前的首个测试版只能在Pixel、Pixel XL、Pixel 2、Pixel 2 XL手机,并且针对的也是开发者,而距离正式版发布时要进行5个测试版的更迭。
2、安卓8:正式版Android8.0将很快推送给Pixel和Nexus设备,第一批支持Android8.0的产品分别为Pixel、PixelXL、PixelC、Nexus6P、Nexus5X以及NexusPlayer。
二、代号不同
1、安卓8:Android 8.0版本也就是Android O的代号又是一款趣味点心:“奥利奥”。
2、安卓p:目前安卓开发团队内部给安卓P起的名字是“pistachio ice cream”,中文译为“开心果冰激凌”。
三、亮点不同
1、安卓8:奥利奥版安卓的聚焦重点是电池续航能力、速度和安全,加大了对App在后台操作的限制,这种对后台应用的限制也会加快运行的速度。谷歌称,在其Pixel手机上,安卓奥利奥启动的速度比上一代牛轧糖快1倍。
2、安卓p:Android P预览版亮点很多,第一个改变就很“接地气”,那就是适配类似iPhone X的顶部凹槽屏幕设计,为“刘海屏”设备进行了适配。
Android P还进一步优化了系统的效率,比如安装应用时间更快,系统整体运行更流畅,设备续航性上进一步提升,同时限制空闲应用程序使用手机麦克风、摄像头、和其他传感器,并且谷歌还大大加强了系统的安全性,比如添加指纹授权模块,来在本地设备中更好的管理指纹。
参考资料来源:百度百科-安卓8
百度百科-安卓P
华为手机安卓八限制定位功能后台如果限制了后台的话,必须要解放限制,这样的话才能正常使用。
不能。vivoy66手机版本太老,所以已经不能刷安卓8了。Android8.0是2017年8月22日谷歌正式发布的智能手机操作系统,其正式名称为:AndroidOreo(奥利奥)。
红米9a安卓版本是8.0。AndroidO是安卓最新系统8.0的代号,目前安卓已经推出了推出了开发者预览版系统Android8DeveloperPreview,这是目前Android8.0系统最新版本,要开始使用Android8,请下载系统映像并将其刷入您的设备。然后阅读计划概览了解时间表,阅读迁移指南,了解提升兼容性和开发应用的方法。
安卓版本8.0的优势
安卓版本8.0对系统层面的修改也是蛮大的,尤其是后台部分。在最新的测试版本中,应用的进程、隐式广播、后台服务、位置更新等全都得到了系统的有效控制,不会再让垃圾软件随意浪费系统资源。除了这些看不到的升级之外,还有很多我们能明显体验到的功能,如过期通知自动删除。
3)查看进程列表:adb shell "ps",同时也能获取到应用的UID,方式如下(不需root权限):
u0_a开头的都是Android的应用进程,Android的应用的UID是从10000开始,到19999结束,可以在Process.java中查看到(FIRST_APPLICATION_UID和LAST_APPLICATION_UID),u0_a后面的数字就是该应用的UID值减去FIRST_APPLICATION_UID所得的值,所以,对于截图这个应用进程,它是u0_a155,按前面的规制,它的UID就是155 + FIRST_APPLICATION_UID = 10155。
VSS - Virtual Set Size 虚拟耗用内存(包含共享库占用的内存)
RSS - Resident Set Size 实际使用物理内存(包含共享库占用的内存)
PSS - Proportional Set Size 实际使用的物理内存(比例分配共享库占用的内存)
USS - Unique Set Size 进程独自占用的物理内存(不包含共享库占用的内存)
一般来说内存占用大小有如下规律:VSS = RSS = PSS = USS
使用 adb shell "dumpsys meminfo -s pakagename | pid"命令,输出结果分以下4部分:
PS:在apk内调用运行获取其他app的内存数据则需要root权限
adb命令:adb shell dumpsys gfxinfo package | pid
正常情况下帧率应该在16.67ms左右,1秒60帧,执行结果如下:
详细计算方法如下:
还有一个命令是: adb shell dumpsys SurfaceFlinger --latency LayerName
其中LayerName在各个不同系统中获取的命令是不一样的
在Android 6系统直接就是SurfaceView
在Android 7系统中可以通过 dumpsys window windows | grep mSurface | grep SurfaceView 然后通过数据截取到
在Android 8系统中可以通过 dumpsys SurfaceFlinger | grep android包名获取到
执行命令结果如下:
计算方法比较简单,一般打印出来的数据是129行(部分机型打印两次257行,但是第一部分是无效数据,取后半部分),取len-2的第一列数据为end_time,取len-128的第一列数据为start_time
fps = 127/((end_time - start_time) / 1000000.0)
至于为啥要取第一列数据,这里不做过多介绍,欢迎参看这两篇文章
老罗的文章SurfaceView原理
Android性能测试之fps获取
至于为啥要处于1000000,因为命令打印出来的是纳秒单位,要转为毫秒进行计算,127就是因为命令一次打印出来127帧的数据而已
有两种方法可以获取
1) adb shell "top -n 5 | grep package | pid" ,第三列就是实时监控的CPU占用率(-n 指定执行次数,不需root权限),这边top命令执行需要2到3s左右,一般可以采用busybox 的top命令执行,效率会快很多
2) adb shell "dumpsys cpuinfo | grep package | pid"
两种方法直接区别在于,top是持续监控状态,而dumpsys cpuinfo获取的实时CPU占用率数据
adb命令:adb shell "dumpsys batterystats package | pid" (Android 5.0后引入)
获取单个应用的耗电量信息,具体返回结果待研究
adb命令:adb shell "dumpsys battery"
出现信息解读:
AC powered:false 是否连接AC(电源)充电线
USB powered:true 是否连接USB(PC或笔记本USB插口)充电
Wireless powered:false 是否使用了无线电源
status: 1 电池状态,2为充电状态,其他为非充电状态
level:58 电量(%)
scale: 100. 电量最大数值
voltage: 3977 当前电压(mV)
current now: -335232. 当前电流(mA)
temperature:355 电池温度,单位为0.1摄氏度
adb 命令:adb shell "dumpsys package | pid | grep UID" [通过ps命令,获取app的UID(安装后唯一且固定)]
adb shell cat /proc/uid_stat/UID/tcp_rcv [cat为查看命令,读取tcp_rcv获取应用接收流量信息(设备重启后清零)]
adb shell cat /proc/uid_stat/UID/tcp_snd [cat为查看命令,读取tcp_snd获取应用发送流量信息(设备重启后清零)]
计算流量消耗步骤:
或者还有一种方式获取应用流量消耗:
首先判断类型:
cat /sys/class/thermal/thermal_zone*/type
只有红框框出来的是有效的
cat /sys/class/thermal/thermal_zone*/temp
获取CPU温度
dumpsys battery | grep temperature 单位0.1摄氏度
获取/proc/stat文件内容(无权限限制)
总的cpu时间片是 total = user+nice+system+idle+iowait+irq+softirq
忙碌时间为 notidle = user+nice+system +iowait+irq+softirq
cpu使用率计算方法为,先取开始的total值和忙碌时间notidle,隔一段时间片,再取一次计算total2,notidle2, cpuuse = (notidle2 – notidle) * 100 / (total2 - total)%
PS:由于Android 8权限收紧,在Android 8系统手机内apk内读取文件内容为空,需要shell权限才可获取文件内容,下同
读/sys/devices/system/cpu/cpuX/cpufreq/scaling_cur_freq文件的值,X不定,看是几核手机,scaling_cur_freq是否存在也不一定,需要判断
至于为啥不取cpuinfo_cur_freq文件的值,原因是android 6,7系统获取的时候,这个文件shell没有读取权限,需要root权限
参考文章:
Android 6,7系统可执行
dumpsys window windows | grep "mCurrentFocus"
执行结果一般为类似:
mCurrentFocus=Window{81caaa5 u0 com.tencent.mobileqq/com.tencent.mobileqq.activity.SplashActivity}
按照一定规则把com.tencent.mobileqq提取出来即可
直接apk内读取文件即可,不需要shell权限(支持到Android8)
Gpu使用率获取:会得到两个值,(前一个/后一个)*100%=使用率
adb shell cat /sys/class/kgsl/kgsl-3d0/gpubusy
Gpu工作频率:
adb shell cat /sys/class/kgsl/kgsl-3d0/gpuclk
adb shell cat /sys/class/kgsl/kgsl-3d0/devfreq/cur_freq
Gpu最大、最小工作频率:
adb shell cat /sys/class/kgsl/kgsl-3d0/devfreq/max_freq
adb shell cat /sys/class/kgsl/kgsl-3d0/devfreq/min_freq
Gpu可用频率
adb shell cat /sys/class/kgsl/kgsl-3d0/gpu_available_frequencies
adb shell cat /sys/class/kgsl/kgsl-3d0/devfreq/available_frequencies
Gpu可用工作模式:
adb shell cat /sys/class/kgsl/kgsl-3d0/devfreq/available_governors
Gpu当前工作模式:
adb shell cat /sys/class/kgsl/kgsl-3d0/devfreq/governor
源码配置双卡还是单卡的路径在msm8976_android8\device\qcom\common\bace.mk
ifeq ($(TARGET_USES_QCOM_BSP_ATEL),true)
PRODUCT_PROPERTY_OVERRIDES += persist.radio.multisim.config=dsds
endif
DSDA:Dual SIM dual active,即双卡双通;
DSDS:Dual SIM dual standy,即双卡双待;
双卡双通就是可以2个号码同时拨通并可以同时通话的。
双卡双待双通是指一部手机同时接通来自两个通信网络的信号(通过放两张卡)。