Android7.0占用空间,Android7.0 开发者注意事项

1、当设备处于充电状态且屏幕已关闭一定时间后,设备会进入低电耗模式并应用第一部分限制:关闭应用网络访问、推迟作业和同步。如果进入低电耗模式后设备处于静止状态达到一定时间,系统则会对 PowerManager.WakeLock、AlarmManager 闹铃、GPS 和 WLAN 扫描应用余下的低电耗模式限制。无论是应用部分还是全部低电耗模式限制,系统都会唤醒设备以提供简短的维护时间窗口,在此窗口期间,应用程序可以访问网络并执行任何被推迟的作业/同步。

2、面向 Android 7.0 开发的应用不会收到CONNECTIVITY_ACTION广播,即使它们已有清单条目来请求接受这些事件的通知。在前台运行的应用如果使用BroadcastReceiver请求接收通知,则仍可以在主线程中侦听CONNECTIVITY_CHANGE。

3、应用无法发送或接收ACTION_NEW_PICTURE或ACTION_NEW_VIDEO广播。此项优化会影响所有应用,而不仅仅是面向 Android 7.0 的应用。

5、传递软件包网域外的file://URI 可能给接收器留下无法访问的路径。因此,尝试传递file://URI 会触发FileUriExposedException。分享私有文件内容的推荐方法是使用FileProvider。

7、Android 7.0在“Welcome”屏幕中加入了“Vision Settings”,用户可以在新设备上设置以下无障碍功能设置:Magnification gesture、Font size、Display size和话语提示。此项变更让您可以更容易发现与不同屏幕设置有关的错误。要评估此功能的影响,您应在启用这些设置的状态下测试应用。您可以在Settings > Accessibility中找到这些设置。

8、从 Android 7.0 开始,系统将阻止应用动态链接非公开 NDK 库,这种库可能会导致您的应用崩溃。此行为变更旨在为跨平台更新和不同设备提供统一的应用体验。即使您的代码可能不会链接私有库,但您的应用中的第三方静态库可能会这么做。因此,所有开发者都应进行相应检查,确保他们的应用不会在运行 Android 7.0 的设备上崩溃。如果您的应用使用原生代码,则只能使用公开 NDK API。

9、所有应用在调用既非公开又不可暂时访问的 API 时都会生成一个运行时错误。结果就是System.loadLibrary和dlopen(3)同时返回NULL,并可能导致您的应用崩溃。您应检查应用代码以移除对私有平台 API 的使用,并使用预览版设备或模拟器全面测试应用。如果您不确定您的应用是否使用私有库,您可以检查 logcat以识别运行时错误。

10、如果一个应用在 Android 7.0 上运行,但却是针对更低 API 级别开发的,那么在用户更改显示尺寸时,系统将终止此应用进程。应用必须能够妥善处理此情景。否则,当用户从最近使用记录中恢复运行应用时,应用将会出现崩溃现象。

11、您应测试应用以确保不会发生此行为。要进行此测试,您可以通过 DDMS 手动终止应用,以造成相同的崩溃现象。

12、在密度发生更改时,系统不会自动终止面向 N 及更高版本的应用;不过,这些应用仍可能对配置变更做出不良响应。

13、Android 7.0上的应用应能够妥善处理配置变更,并且在后续启动时不会出现崩溃现象。您可以通过更改字体大小 (Setting>Display>Font size) 并随后从最近使用记录中恢复运行应用,来验证应用行为。

14、由于之前的 Android 版本中的一项错误,系统未能将对主线程上的一个 TCP 套接字的写入操作举报为违反严格模式。Android 7.0 修复了此错误。呈现出这种行为的应用现在会引发android.os.NetworkOnMainThreadException。一般情况下,我们不建议在主线程上执行网络操作,因为这些操作通常会出现可能导致 ANR 和卡顿的高尾延迟。

15、Debug.startMethodTracing()方法系列现在默认在您的共享存储空间上的软件包特定目录中存储输出,而非 SD 卡根目录。这意味着应用不再需要请求WRITE_EXTERNAL_STORAGE权限来使用这些 API 。

16、许多平台 API 现在开始检查在Binder事务间发送的大负载,系统现在会将TransactionTooLargeExceptions作为RuntimeExceptions再次引发,而不再只是默默记录或抑制它们。一个常见例子是在Activity.onSaveInstanceState()上存储过多数据,导致ActivityThread.StopInfo在您的应用面向 Android 7.0 时引发RuntimeException。

17、如果应用向View发布Runnable任务,并且View未附加到窗口,系统会用View为Runnable任务排队;在View附加到窗口之前,不会执行Runnable任务。此行为会修复以下错误:

18、如果一项应用是从并非预期窗口 UI 线程的其他线程发布到View,则Runnable可能会因此运行错误的线程。

19、如果Runnable任务是从并非环路线程的其他线程发布,则应用可能会曝光Runnable任务。

20、如果 Android 7.0 上一项有DELETE_PACKAGES权限的应用尝试删除一个软件包,但另一项应用已经安装了这个软件包,则系统需要用户进行确认。在这种情况下,应用在调用PackageInstaller.uninstall()时预计的返回状态应为STATUS_PENDING_USER_ACTION。

21、名为Crypto的 JCA 提供程序已弃用,因为它仅有的 SHA1PRNG 算法为弱加密。应用无法再使用 SHA1PRNG(不安全地)派生密钥,因为不再提供此提供程序。如需了解详细信息,请参阅博文Android N 中已弃用“Crypto”安全提供程序。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/259341.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Android探索之旅 | 面向对象和Java基础

-- 作者 谢恩铭 转载请注明出处 上一篇 Android探索之旅 | Android简介 中说到: "Android的默认开发语言是Java,入门简单。而且,你的Java水平不需要多好就可以上手开发Android App了。" 不少朋友说看到后很是心安。 不过小编也不想…

DataGirdView 编辑项时的验证

dgvConfig.DataSource CreateTable();dgvConfig.Columns["编号"].ReadOnly true; //只读dgvConfig.AllowUserToAddRows false; //不允许添加新行dgvConfig.EditingControlShowing new DataGridViewEditingControlShowingEventHandler(dgvConfig_EditingControlS…

使用Vitamio打造自己的Android万能播放器(7)——在线播放(下载视频)

前言 本章将实现非常实用的功能——下载在线视频。涉及到多线程、线程更新UI等技术,还需思考产品的设计,如何将新加的功能更好的融入到现有的产品中,并不是简单的加一个界面就行了,欢迎大家交流产品设计和技术细节实现&#xff01…

生成0到1之间随机数的C代码

#include <stdlib.h>#include <stdio.h>#include <time.h>int main(){srand((unsigned)time(NULL));int i;double r;for(i0;i<50;i){r(float)rand()/RAND_MAX; printf("%f\n",r);}return 0;}

HTML声明文档类型后样式出错,doctype如何声明

如何doctype声明&#xff0c;新增的结构元素和功能元素HTML5已形成了最终的标准&#xff0c;概括来讲&#xff0c;它主要是关于图像&#xff0c;位置&#xff0c;存储&#xff0c;多任务等功能的增加。 新增的元素有绘画 canvas &#xff0c;用于媒介回放的 video 和 audio 元素…

Error-Project facet Java version 1.8 is not supported

最近导入最新的Strtus2.5.10.1 Demo时出现了这个错误 解决方案如下&#xff1a; 选中工程——右键——Properties 然后依次展开找到如图所示内容&#xff0c;将1.8改成1.7即可。 原因&#xff1a;工程默认配置是1.8&#xff0c;而本地环境JDK版本为1.7&#xff0c;两则不匹配造…

6.2

转载于:https://www.cnblogs.com/tutuaixiaomei/p/3354356.html

Tomcat全攻略

内容&#xff1a; 一&#xff1a;简单介绍二&#xff1a;安装及配置三&#xff1a;应用四&#xff1a;综述參考资料关于作者宗 锋西北大学计算机系硕士2001 年 12 月 随着java的流行&#xff0c;其在web上的应用也越来越广&#xff0c;tomcat作为一个开源的servlet容器&#xf…

《G档案》中关于游戏程序设计的文章

刚拿到前导的《G档案》&#xff0c;发现了主程刘刚的文章&#xff0c;是目前我所见 到的关于游戏编程的最好的一篇&#xff0c;与大家共享。转载&#xff1a;http://www.360doc.cn/article/2778_53476.html PC游戏编程 目录 1 游戏程序理论 1.1 技术基础 1.2 游戏底层 1.3 编…

shell笔记

system 磁盘 磁盘空间使用情况df查看文件或目录大小du挂载usb sudo fdisk -l # Find what the drive is called e.g. /dev/sdb1 sudo mkdir /media/usb sudo mount /dev/sdb1 /media/usb sudo umount /media/usb# umount sudo umount /media/usb utils awk 打印文件的第一列(域…

html5编辑文档,HTML5带各种趣味动画的文本编辑器

CSS语言&#xff1a;CSSSCSS确定body {background-color: #eee;}html,body {margin: 0px;height: 100%;overflow: hidden;}.toolbar {width: 100%;background: #fff;padding: 4px 10px;}.characters {display: inline-block;margin-right: 20px;vertical-align: top;}.characte…

社会转型

转载&#xff0c;版权由作者所有。 常常在政府工作报告中看到关于“社会转型期”的说法&#xff0c;不是太明白&#xff0c;在百度里找了找&#xff0c;果然有不少&#xff0c;摘抄下来&#xff0c;做为学习资料用&#xff1a; 一是指体制转型&#xff0c;即从计划经济体制向市…

在WPF中处理Windows消息

在Winform中 处理Windows消息通过重写WndProc方法 在WPF中 使用的是System.Windows. Sytem.Windows.Controls等名字空间&#xff0c;没有WndProc函数 WPF中处理消息首先要获取窗口句柄&#xff0c;创建HwndSource对象 通过HwndSource对象添加消息处理回调函数。 此外 WPF中没有…

Android Material风格的应用(三)--DrawerLayout

添加抽屉导航 Android Material风格的应用(一)--AppBar TabLayoutAndroid Material风格的应用(二)--RecyclerViewAndroid Material风格的应用(三)--DrawerLayoutAndroid Material风格的应用(四)--FloatActionButtonAndroid Material风格的应用(五)--CollapsingToolbar DrawerLa…

html5 数据缓存,HTML5: 本地缓存

HTML5 提供了两种在客户端存储数据的新对象&#xff1a;localStorage&#xff1a;没有时间限制的数据存储&#xff0c;在同一个浏览器中&#xff0c;只要没被手动清理&#xff0c;第二天、第二周或下一年之后&#xff0c;数据依然可用。sessionStorage&#xff1a;针对一个 ses…

C# 委托:把方法组合到一个数组中使用

C# 委托&#xff1a;把方法组合到一个数组中使用 using System; using System.Collections.Generic; using System.Linq; using System.Text;namespace ConsoleApplication1 {class MathOperations{public static double MultiplyByTwo(double value){return value * 2;}public…

上传Text文档并转换为PDF

今天在ASP.NET MVC环境中学习一些PDF相关的知识&#xff0c;想法是上传文件成功时&#xff0c;并把文件转换为PDF文档。 打开你的专案&#xff0c;运行NuGet包管理器&#xff0c;下载一个叫iTextSharp的东东&#xff1a;点击Install&#xff0c;按钮提示确认安装&#xff0c;成…

某著名公司2015暑期实习招聘试题及相关内容复习

1.&#xff09;输出下面的结果<pre name"code" class"cpp">#include <iostream> using namespace std;int main(int argc, char *argv[]) {int **a[5][4];int *b[5][4];int *c[5];int d[5][4];char *e"helloworld";char g[]"01…

递归函数(九):最小不动点定理

递归函数&#xff08;一&#xff09;&#xff1a;开篇递归函数&#xff08;二&#xff09;&#xff1a;编写递归函数的思路和技巧递归函数&#xff08;三&#xff09;&#xff1a;归纳原理递归函数&#xff08;四&#xff09;&#xff1a;全函数与计算的可终止性递归函数&#…

html中单选框颜色怎么改,如何更改单选按钮的颜色?

侃侃无极一种快速的解决方法是使用来覆盖单选按钮的输入样式:after&#xff0c;但是创建自己的自定义工具箱可能是更好的做法。 input[typeradio]:after { width: 15px; height: 15px; border-radius: 15px; top: -2px; left: -1px; …