安卓基础总结

安卓基础五种布局的特点和效率对比A的生命周期和缓存

有a、b两个a,当a进入b之后的一段时间,可能系统就把a回收了,这时候按back键,执行的不是a的onStart()方法,而是onCreate()方法,a被重新创建了一次,这时a的临时数据和状态就很有可能就丢失了。而A中的onSaveInstanceState()回调方法会保存临时的数据和状态,这个方法一定会再a回收之前调用。方法中有一个Bundle参数,putString()、putInt()等方法需要传入两个参数,一个键一个值。数据保存之后会在onCreate中会恢复,onCreate也有一个Bundle类型的参数。

关键字:onSaveInstanceState(BundleoutState),onCreate(BundlesavedInstanceState),onRestoreInstanceState(BundleoutState)。

see:   

标准Java字节码实行8位堆栈指令,Dalvik使用16位指令集直接作用于局部变量。局部变量通常来自4位的“虚拟寄存器”区。这样减少了Dalvik的指令计数,提高了翻译速度。当Android启动时,DalvikVM监视所有的程序(APK),并且创建依存关系树,为每个程序优化代码并存储在Dalvik缓存中。Dalvik第一次加载后会生成Cache文件,以提供下次快速加载,所以第一次会很慢。Dalvik解释器采用预先算好的Goto地址,每个指令对内存的访问都在64字节边界上对齐。这样可以节省一个指令后进行查表的时间。为了强化功能,Dalvik还提供了快速翻译器(FastInterpreter)。

什么是ART?即AndroidRuntime。ART的机制与Dalvik不同。在Dalvik下,应用每次运行的时候,字节码都需要通过即时编译器(justintime,JIT)转换为机器码,这会拖慢应用的运行效率,而在ART环境中,应用在第一次安装的时候,字节码就会预先编译成机器码,使其成为真正的本地应用。这个过程叫做预编译(AOT,Ahead-Of-Time)。这样的话,应用的启动(首次)和执行都会变得更加快速。

ART有什么优缺点呢?

缺点:

优点:

机器码占用的存储空间更大,字节码变为机器码之后,可能会增加10%-20%(不过在应用包中,可执行的代码常常只是一部分。比如最新的Google+APK是28.3MB,但是代码只有6.9MB。)

应用的安装时间会变长。

系统性能的显著提升。

应用启动更快、运行更快、体验更流畅、触感反馈更及时。

更长的电池续航能力。

支持更低的硬件。

tips:现在智能手机大部分都可以让用户选择使用Dalvik还是ART模式。当然默认还是使用Dalvik模式。用法:设置-辅助功能-开发者选项(开发人员工具)-选择运行环境(不同的手机设置的步骤可能不一样)。

Android屏幕适配有哪些方法

图片适配:根据手机尺寸的不同,加载不同尺寸文件夹中的图片(图标)

dimens.xml文件适配,可用于指定控件大小,不同像素密度手机加载不同values文件夹下的dimens.xml文件。

布局文件适配,不同分辨率的手机,加载不同的布局文件以达到适配效果。创建多个layout(如:layout-x、layout-x)文件夹用于存放不同像素密度手机所需布局文件。

java代码适配,通过android相应api获取当前手机的宽高像素值,按比例分配屏幕中控件的宽高以达到适配效果。

权重适配,通过android中线性布局中的属性(layout_weight权重)按比例来分配,已达到适配效果。

用dp替代px(普通控件尺寸大小);字体采用sp进行尺寸标度。

//ppi:像素密度、px:像素px=dp*ppi/dp=px/(ppi/)px=sp*ppi/sp=px/(ppi/)dp=sp?

根据google出的百分比支持包进行按比例适配。(see:Android百分比布局库(percent-support-lib)解析与扩展,







































白癜风医院惠民活动
甲氧沙林溶液



转载请注明:http://www.gslnbdf.com/azfz/10049.html