当前位置: 首页 > news >正文

外国优秀网站欣赏高端网站定制开发

外国优秀网站欣赏,高端网站定制开发,成都建站开发,龙口建设局网站一个好的APP最好支持90%设备,由于不同版本系统提供的API可能不同,所以了解不同版本间系统差异很重要,这样才能更好的适配更多的智能设备。你的应用足不足够健壮要看你的应用在主流版本运行是否流畅。这篇文章记录开发过程中遇到的相对重要以及常用的适配方案,希望对读者有所…

一个好的APP最好支持90%设备,由于不同版本系统提供的API可能不同,所以了解不同版本间系统差异很重要,这样才能更好的适配更多的智能设备。你的应用足不足够健壮要看你的应用在主流版本运行是否流畅。这篇文章记录开发过程中遇到的相对重要以及常用的适配方案,希望对读者有所帮助。

Android 版本号及对应的版本名

版本号版本名中文名
API Randroid R
API Qandroid Q
API 28android 9.0 Pie馅饼
API 27android 8.1 Oreo奥利奥
API 26android 8.0 Oreo奥利奥
API 25android 7.1 Nougat牛轧糖
API 24android 7.0 Nougat牛轧糖
API 23android 6.0 Marshmallow棉花糖
API 22android 5.1 Lollipop棒棒糖
API 21android 5.0 Lollipop棒棒糖
API 20android 4.4W KitKat奇巧巧克力棒
API 19android 4.4 KitKat奇巧巧克力棒
API 18android 4.3 Jelly Bean果冻豆
API 17android 4.2 Jelly Bean果冻豆
API 16android 4.1 Jelly Bean果冻豆
API 15android 4.0.3 ~4.0.4 Ice Cream Sandwich冰淇淋三明治
API 14android 4.0 ~ 4.0.2 Ice Cream Sandwich冰淇淋三明治
API 13android 3.2 Honeycomb蜂巢
API 12android 3.1 Honeycomb蜂巢
API 11android 3.0 Honeycomb蜂巢
API 10android 2.3.3 ~ 2.3.7 Gingerbread姜饼
API 9android 2.3~ 2.3.2 Gingerbread姜饼
API 8android 2.2~ 2.2.3 Froyo冻酸奶
API 7android 2.1 Éclair闪电泡芙
API 6android 2.0.1 Éclair闪电泡芙
API 5android2.0 Éclair闪电泡芙
API 4android 1.6 Donut甜甜圈
API 3android 1.5 ICupcake纸杯蛋糕
API 2android 1.1
API 1android 1.0

Android5.0

1、Android Runtime (ART)

Android运行时由Android核心库集和Dalvike虚拟机改成Android核心库集和ART(Android Runtime)模式。两者的区别就是Dalvike虚拟机采用了一种被称为JIT(just-in-time)的解释器进行动态编译,而ART模式则在用户安装App是进行预编译AOT(Ahead-of-time),将android5.X的运行速度提高了3倍左右。

ART的特性:
1: 用户安装应用时就进行预编译操作,将原本在程序运行中时的编译动作提前到应用安装时。在省去解释代码这一过程之后,应用的运行效率会更高。
缺点:(1) 安装时间增加 (2) 安装后的文件占用更多空间?(外存储器)
2: 解决垃圾回收 (GC) 问题
在 Dalvik 中,应用常常发现显式调用 System.gc() 非常有用,可促进垃圾回收 (GC)。对 ART 而言这种做法的必要性低得多,尤其是当您需要通过垃圾回收来预防出现 GC_FOR_ALLOC 类型或减少碎片时。
而且,Android 开源项目 (AOSP) 中正在开发一种紧凑型垃圾回收器,以改善内存管理。
3:预防 JNI 问题
ART 的 JNI 比 Dalvik 的 JNI 更为严格一些。使用 CheckJNI 模式来捕获常见问题是一种特别实用的方法。
1): 检查 JNI 代码中的垃圾回收问题
2): 错误处理 ART 的 JNI 会在多种情况下引发错误,而 Dalvik 则不然。(同样地,您可以通过使用 CheckJNI 执行测试来捕获大量此种情况)
3): 预防堆栈大小问题  Dalvik 具有单独的原生代码堆栈和 Java 代码堆栈,并且默认的 Java 堆栈大小为 32KB,默认的原生堆栈大小为 1MB。

2、Button将总是位于最上层

从5.0开始,在同一个layout下,就算你在Button上覆盖了相应的View,Button将总是位于最上层。产生原因:stateListAnimator属性。谷歌在Material Design中推出,是一个非常简单的方法用来实现在可视状态之间平滑过渡。这个属性可以通过android:stateListAnimator进行设置,可以使控件在点击时产生不同的交互。对于Button,点击时默认有个阴影的效果用于表示按下的状态(5.0以前就是简单的变色)。 解决方法:可以使用 android:stateListAnimator="@null" 去掉阴影效果而使Button可以被正常的覆盖。

<Buttonandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:stateListAnimator="@null"/>

Android6.0

1、动态权限

动态权限适配是 Android 6.0 最先开始的,也是 Android 系统对开发者影响最大的改动之一。系统权限主要分为两类,正常权限和危险权限。不管哪个版本的android,你应用中所用到的所有权限,不管是正常权限还是危险权限,都需要在应用Manifest中申明。你的目标SDK(targetSdkVersion)是23以及23以上版本:应用必须在Manifest中罗列出所有的权限,并且在程序运行时,它必须请求用户授予每一个危险权限,此时用户可以授予或者拒绝每一个权限,并且应用程序可以继续运行有限的功能,即使用户拒绝了权限请。在 Android 6.0 ~ Android 8.0中,如果应用在运行时请求权限并且被授予该权限,系统会错误地将属于同一权限组并且在清单中注册的其他权限也一起授予应用,即对于同一组内的权限,只要有一个被同意,其他的都会被同意。在 Android 8.0 之后,此行为已被纠正。系统只会授予应用明确请求的权限。然而一旦用户为应用授予某个权限,则所有后续对该权限组中权限的请求都将被自动批准,但是若没有请求相应的权限而进行操作的话就会出现应用 crash 的情况。

危险权限分组说明
权限组权限名称
CALENDARandroid.permission.READ_CALENDAR
android.permission.WRITE_CALENDAR
CAMERAandroid.permission.CAMERA
CALENDARandroid.permission.READ_CALENDAR
android.permission.WRITE_CALENDAR
CONTACTSandroid.permission.READ_CONTACTS
android.permission.WRITE_CONTACTS
android.permission.GET_ACCOUNTS
LOCATIONandroid.permission.ACCESS_FINE_LOCATION
android.permission.ACCESS_COARSE_LOCATION
MICROPHONEandroid.permission.RECORD_AUDIO
PHONEandroid.permission.READ_PHONE_STATE
android.permission.CALL_PHONE
android.permission.READ_CALL_LOG
android.permission.ADD_VOICEMAIL
android.permission.WRITE_CALL_LOG
android.permission.USE_SIP
android.permission.PROCESS_OUTGOING_CALLS
android.permission.ANSWER_PHONE_CALLS(8.0新增)
android.permission.READ_PHONE_NUMBERS(8.0新增)
SENSORSandroid.permission.BODY_SENSORS
SMSandroid.permission.SEND_SMS
android.permission.RECEIVE_SMS
android.permission.READ_SMS
android.permission.RECEIVE_WAP_PUSH
android.permission.RECEIVE_MMS
STORAGEandroid.permission.READ_EXTERNAL_STORAGE
android.permission.WRITE_EXTERNAL_STORAGE
对应在清单文件中的展示
<!--CALENDAR-->
<uses-permission android:name="android.permission.READ_CALENDAR"/>
<uses-permission android:name="android.permission.WRITE_CALENDAR"/>
<!--CAMERA-->
<uses-permission android:name="android.permission.CAMERA"/>
<!--CONTACTS-->
<uses-permission android:name="android.permission.READ_CONTACTS"/>
<uses-permission android:name="android.permission.WRITE_CONTACTS"/>
<uses-permission android:name="android.permission.GET_ACCOUNTS"/>
<!--LOCATION-->
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<!--MICROPHONE-->
<uses-permission android:name="android.permission.RECORD_AUDIO"/>
<!--PHONE-->
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<uses-permission android:name="android.permission.CALL_PHONE"/>
<uses-permission android:name="android.permission.READ_CALL_LOG"/>
<uses-permission android:name="android.permission.ADD_VOICEMAIL"/>
<uses-permission android:name="android.permission.WRITE_CALL_LOG"/>
<uses-permission android:name="android.permission.USE_SIP"/>
<uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS"/>
<uses-permission android:name="android.permission.ANSWER_PHONE_CALLS"/>
<uses-permission android:name="android.permission.READ_PHONE_NUMBERS"/>
<!--SENSORS-->
<uses-permission android:name="android.permission.BODY_SENSORS"/>
<!--SMS-->
<uses-permission android:name="android.permission.SEND_SMS"/>
<uses-permission android:name="android.permission.RECEIVE_SMS"/>
<uses-permission android:name="android.permission.READ_SMS"/>
<uses-permission android:name="android.permission.RECEIVE_WAP_PUSH"/>
<uses-permission android:name="android.permission.RECEIVE_MMS"/
http://www.mmbaike.com/news/37364.html

相关文章:

  • 山东app网站制作营销培训课程内容
  • 网站每天更新多少文章百度游戏
  • 跨境独立站排名大连网站开发公司
  • 重庆潼南网站建设报价seminar
  • 软件开发和网站开发难度合肥网站快速优化排名
  • 网上做任务赚钱网站有哪些站长之家新网址
  • 网站建设 设计提成谷歌推广开户多少费用
  • 邹平网站开发江西seo推广
  • php网站导航精准信息300099
  • java 建网站seo怎么快速提高排名
  • 邯郸市市长公司官网优化方案
  • 乌兰察布建设局网站swot分析
  • 网站建设都用哪个好现在有哪些培训学校
  • ppt做的好的网站有哪些软文代理平台
  • 国资委两学一做网站怎么进入百度推广账户
  • 南京公司网站建设个人网站制作教程
  • 金融系统网站模板北京疫情最新消息情况
  • 网站建设的活怎么接近期舆情热点事件
  • 如何查找昆明做网站服务的公司sem专员
  • 可做用户密码暴力破解测试的网站新乡网站优化公司推荐
  • 做图片能去哪些网站免费推广网站排行榜
  • 网页设计师常用网站建站系统源码
  • 做网站运营的要求网络营销推广有哪些方法
  • 做网站是什么软件app下载
  • 教师做网站赚钱百度网盘客户端
  • 手机网站制作关联词有哪些三年级
  • 深圳市做网站公司好用的网站推荐
  • 我做的网站怎么是危险网站网站模板大全
  • 品牌网站的目的镇江网站建设推广
  • 网站数据库丢失百度公司好进吗