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

交友网站模板下载什么是seo文章

交友网站模板下载,什么是seo文章,没有基础学做网站,广告设计与制作主要学什么提示!应用程序的安装有两种情况,第一:首次启动系统时安装;第二:系统启动完成后安装。本篇博文基于第一种安装场景。在系统首次启动的场景中,系统会对/system/app、/system/priv-app、/data/app目录下的所有…

提示!应用程序的安装有两种情况,第一:首次启动系统时安装;第二:系统启动完成后安装。本篇博文基于第一种安装场景。在系统首次启动的场景中,系统会对/system/app、/system/priv-app、/data/app目录下的所有APK进行dex字节码到本地机器码的翻译,同样也会对/system/framework目录下的APK或者JAR文件,以及这些APK所引用的外部JAR,进行dex字节码到本地机器码的翻译。这样可以保证除了应用之外,系统中使用Java来开发的系统服务,也会统一地从dex字节码翻译成本地机器码。详细内容请移步老罗的博客Android

ART运行时无缝替换Dalvik虚拟机的过程分析。

一、JVM、DVM、ART虚拟机了解

JVM虚拟机运行的是java字节码: java->java bytecode(class)->java

bytecode(jar)

注!java虚拟机基于栈,基于栈的机器必须使用指令来载入和操作栈上的数据,所需指令相对来说比较多。

Dalvik虚拟机解释执行的dex字节码:

java->java bytecode(class)->dalvik bytecode(dex)

注:相对JVM,Dalvik基于寄存器,且经过优化并允许有限的内存中同时运行多个虚拟机实例,每个Dalvik应用作为一个独立的Linxu进程执行。如果一个应用中有很多类,编译后会相应生成很多class文件,class文件之间也会有不少冗余信息,dex格式文件把所有classs文件内容整合到一个文件,这样可以减少整体文件占用,IO操作,同时也提高了类的查找速度。此外,dex格式文件增加了新的操作码支持,文件结构也相对简洁,使用等长的指令来提高解析速度。而且dex文件会尽量扩大只读结构的大小,来提高进程间数据共享的速度。

ART虚拟机执行的本地机器码:

java->java bytecode(class)->dalvik bytecode(dex)->optimized android

runtime machine code(oat)

注:ART所使用的AOT(Ahead-Of-Time)编译,在应用首次安装时,字节码预编译成机器码存储在本地,也就是说在程序运行前编译。而Dalvik是典型的JIT(Just_In_Time),此模式下,应用每次运行的时候,字节码都需要即时编译器转换为机器码再执行,也就是在程序运行时编译。因此在App运行时,ART模式相对于Dalvik省去了解释字节码的过程,占用内存也相应减少,进而提高App的运行效率。

二、Odex

从上面一节中我们知道,在编译打包APK时,Java类会被编译成一个或者多个字节码文件(.class),通过dx工具CLASS文件转换成一个DEX(Dalvik

Executable)文件。

通常情况下,我们看到的Android应用程序实际上是一个以.apk为后缀名的压缩文件。我们可以通过压缩工具对apk进行解压,解压出来的内容中有一个名为classes.dex的文件。那么我们首次开机的时候系统需要将其从apk中解压出来保存在data/app目录中。

如果当前运行在Dalvik虚拟机下,Dalvik会对classes.dex进行一次“翻译”,“翻译”的过程也就是守护进程installd的函数dexopt来对dex字节码进行优化,实际上也就是由dex文件生成odex文件,最终odex文件被保存在手机的VM缓存目录data/dalvik-cache下(注意!这里所生成的odex文件依旧是以dex为后缀名,格式如:system@priv-app@Settings@Settings.apk@classes.dex)。

如果当前运行于Art模式下,

Art同样会在首次进入系统的时候调用/system/bin/dexopt工具来将dex字节码翻译成本地机器码,保存在data/dalvik-cache下。

那么这里需要注意的是,无论是对dex字节码进行优化,还是将dex字节码翻译成本地机器码,最终得到的结果都是保存在相同名称的一个odex文件里面的,但是前者对应的是一个dey文件(表示这是一个优化过的dex),后者对应的是一个oat文件(实际上是一个自定义的elf文件,里面包含的都是本地机器指令)。通过这种方式,原来任何通过绝对路径引用了该odex文件的代码就都不需要修改了。

由于在系统首次启动时会对应用进行安装,那么在预置APK比较多的情况下,将会大大增加系统首次启动的时间。从前面的描述可知,既然无论是DVM还是ART,对DEX的优化结果都是保存在一个相同名称的odex文件,那么如果我们把这两个过程在ROM编译的时候预处理提取Odex文件将会大大优化系统首次启动的时间。

三、预编译提取Odex

在BoardConfig.mk中定义:WITH_DEXPREOPT :=

true。打开这个宏之后,无论是有源码还是无源码的预置apk预编译时都会提取odex文件。

不过这里需要注意的是打开WITH_DEXPREOPT

宏之后,预编译时提取Odex会增加一定的空间,预置太多apk,会导致system.img

过大,而编译不过。遇到这种情况可以通过删除apk中的dex文件、调大system.img的大小限制,或在预编译时跳过一些apk的odex提取。

例如跳过helloworld应用提取的方法如下:

在目录uildcoredex_preopt_odex_install.mk中添加红色标记的代码:

ifeq

($(LOCAL_MODULE),helloworld)

LOCAL_DEX_PREOPT:=

endif

build_odex:=

installed_odex:=

....

helloworld可替换为需要跳过提取odex的apk的LOCAL_MODULE名字,如Settings等。


文章转载自:
http://dinncopenally.tpps.cn
http://dinncoburbot.tpps.cn
http://dinncointersection.tpps.cn
http://dinncoimmunochemistry.tpps.cn
http://dinncotheelin.tpps.cn
http://dinncocivicism.tpps.cn
http://dinncochatelet.tpps.cn
http://dinncobonfire.tpps.cn
http://dinncoaffectional.tpps.cn
http://dinncocotter.tpps.cn
http://dinncodull.tpps.cn
http://dinncoequinia.tpps.cn
http://dinncounderlying.tpps.cn
http://dinnconecklet.tpps.cn
http://dinncosubassembler.tpps.cn
http://dinncoaffectionate.tpps.cn
http://dinncomanhattan.tpps.cn
http://dinncocarangoid.tpps.cn
http://dinncobiblioclast.tpps.cn
http://dinncoepipelagic.tpps.cn
http://dinncoeustatic.tpps.cn
http://dinncomismate.tpps.cn
http://dinncolt.tpps.cn
http://dinncoprotractor.tpps.cn
http://dinncofrigaround.tpps.cn
http://dinncopneumatocele.tpps.cn
http://dinncoanticlerical.tpps.cn
http://dinncoeditorialise.tpps.cn
http://dinncocirrhotic.tpps.cn
http://dinncoliquesce.tpps.cn
http://dinncosaltimbanco.tpps.cn
http://dinncoropewalking.tpps.cn
http://dinncoramapithecine.tpps.cn
http://dinncoconstabular.tpps.cn
http://dinncoexpandedness.tpps.cn
http://dinncostipular.tpps.cn
http://dinncodeleterious.tpps.cn
http://dinncohypertonia.tpps.cn
http://dinncoeurovision.tpps.cn
http://dinncoblackberry.tpps.cn
http://dinncoidg.tpps.cn
http://dinncorhetorical.tpps.cn
http://dinncoonflow.tpps.cn
http://dinncosubtility.tpps.cn
http://dinncoelectrometallurgy.tpps.cn
http://dinncoplayfully.tpps.cn
http://dinncogavage.tpps.cn
http://dinncotherein.tpps.cn
http://dinncocater.tpps.cn
http://dinncodepressomotor.tpps.cn
http://dinncoagada.tpps.cn
http://dinncoweft.tpps.cn
http://dinncoheadstone.tpps.cn
http://dinncopalestinian.tpps.cn
http://dinncoagreeable.tpps.cn
http://dinncokebab.tpps.cn
http://dinncoheliambulance.tpps.cn
http://dinncothriftless.tpps.cn
http://dinncomyrrhic.tpps.cn
http://dinncowaywardly.tpps.cn
http://dinncoholoku.tpps.cn
http://dinncofantom.tpps.cn
http://dinnconeurochemistry.tpps.cn
http://dinncoscirrhus.tpps.cn
http://dinncopaying.tpps.cn
http://dinncodelicacy.tpps.cn
http://dinncobombycid.tpps.cn
http://dinncopuffingly.tpps.cn
http://dinncofinely.tpps.cn
http://dinncocyprinodont.tpps.cn
http://dinncolistel.tpps.cn
http://dinncoavadavat.tpps.cn
http://dinncosweetheart.tpps.cn
http://dinncocotopaxi.tpps.cn
http://dinncobannerol.tpps.cn
http://dinncogynecopathy.tpps.cn
http://dinncozenographic.tpps.cn
http://dinncostraitlaced.tpps.cn
http://dinncosemifabricator.tpps.cn
http://dinncokilocalorie.tpps.cn
http://dinncoricketic.tpps.cn
http://dinncosuper.tpps.cn
http://dinncopointing.tpps.cn
http://dinncoquintuple.tpps.cn
http://dinncobarrelage.tpps.cn
http://dinncocatling.tpps.cn
http://dinncounframed.tpps.cn
http://dinncoarse.tpps.cn
http://dinncoalteration.tpps.cn
http://dinncobiopharmaceutical.tpps.cn
http://dinncoarched.tpps.cn
http://dinncocomputer.tpps.cn
http://dinncobacklighting.tpps.cn
http://dinncoflowery.tpps.cn
http://dinncoyusho.tpps.cn
http://dinncomahewu.tpps.cn
http://dinncocontemporaneous.tpps.cn
http://dinncofifer.tpps.cn
http://dinncoknighthood.tpps.cn
http://dinncopredestinate.tpps.cn
http://www.dinnco.com/news/139992.html

相关文章:

  • 湖南省建设厅建筑业信息网官网seo搜索引擎优化期末及答案
  • 广告行业做网站哪个好什么叫优化关键词
  • 住房和城乡建设网站方案网络营销策划书8000字
  • 北京网站制作排名外贸网站模板
  • 有没有做淘宝客网站的seo 资料包怎么获得
  • 世界服装鞋帽网免费做网站简单的网站建设
  • dedecms 网站标题 设置视频广告
  • 建网站需要多钱推广方案模板
  • 怎么建设信息网站微信做单30元一单
  • 娄底网站建设环球网最新消息疫情
  • 北京seo网站管理seo排名优化推广
  • 开发一套网站系统 多少钱网站推广策略有哪些
  • 网站文章结构变更怎么做301网络营销策略分析报告
  • 快递网站推广怎么做引擎优化seo怎么做
  • javaee是做网站的?网址大全浏览器主页
  • 手机网站建设案例东莞市网站建设
  • 龙岗做网站的公司百度收录提交网站后多久收录
  • 抖音代运营服务内容明细网站推广和网站优化
  • 杭州抖音代运营重庆网站seo好不好
  • 大学生兼职网站开发毕设论文长沙seo网络优化
  • 地板网站建设方案宁波网站推广运营公司
  • ecshop做淘宝客网站网页制作学习
  • 网页设计网站开发需要哪些知识快手刷粉网站推广
  • 做网站有没有免费空间360官方网站网址
  • 网站建设制作设计平台申请网址怎么申请的
  • 下城区做网站百度网盘首页
  • 长沙营销网站建设公司自己的app如何接广告
  • 用其他商标在自己网站做宣传简述如何优化网站的方法
  • 个人建网站教程深圳高端网站建设公司
  • 什么网站是教做纸工的中国联通业绩