脸色发黑是什么原因| 四季更迭是什么意思| 梦见移坟墓是什么预兆| 拍拖是什么意思| 回头是岸是什么意思| 河粉是什么材料做的| 夜明珠是什么东西| 亲子鉴定需要什么材料| 关羽字什么| 蟹粉是什么| 左手经常发麻是什么原因引起的| 身份证穿什么颜色的衣服| 天生丽质难自弃是什么意思| 社保基金是什么| 为什么会有胎记| 猴跟什么生肖相冲| 1987年什么命| 血糖高看什么科室| 1月26日是什么星座| 颈动脉斑块吃什么药效果最好| 常州有什么特产| 鬼剃头是因为什么原因引起的| 微量元素6项是查什么| 准奏是什么意思| 萎缩性胃炎什么意思| 汽车空调不制冷是什么原因| 总是打嗝是什么原因引起的| 经期头痛吃什么药| 泡饭为什么对胃不好| 脚底干裂起硬皮是什么原因怎么治| 人为什么会发热| 肌醇是什么| 血热吃什么药快速见效| 补充蛋白质提高免疫力吃什么| tb什么意思| 淋巴细胞升高说明什么| 强碱是什么| 耳朵流血是什么原因| 什么花好养| 孕期吃什么好| 十一月是什么星座| 血肿是什么意思| 五月初五是什么星座| 吃香菜有什么好处| 养肝护肝喝什么茶最好| 什么东西清肺止咳| 百合有什么功效| 食指上有痣代表什么| 甲状腺4a是什么意思| 朋友的反义词是什么| 副脾结节是什么意思| qq2g在线是什么意思| 文房四宝指什么| 生理期量少是什么原因| 猫瘟吃什么药| 农历七月初六是什么星座| 过敏性鼻炎吃什么药能快速缓解| 芈姝结局是什么| 乌龟死了有什么预兆| 排骨炖什么比较好吃| 神经大条是什么意思| 什么孩子命里有文曲星| 福州立冬吃什么| 为什么血压会高| 9月13号是什么星座| 红楼梦大结局是什么| 胃胀嗳气吃什么药最有效| 富裕是什么意思| 荔枝和什么吃会中毒| 什么补肾| 阿尔马尔是什么药| 浅蓝色是什么颜色| 长期熬夜有什么坏处| 胎心停了会有什么症状| 一饿就心慌是什么原因引起的| 什么是素数| 胎盘成熟度0级什么意思| 吃什么能降血脂| 一什么饼干| 什么红酒好喝| 什么牌子的助听器好| 于谦为什么加入国民党| 屋后有坟有什么影响吗| 艾滋病有什么症状| 耳膜炎是什么症状| 美尼尔氏综合症是什么病| 眼睛痒流泪是什么原因| 方便是什么意思| 学考成绩什么时候公布| 舌头上有红点是什么原因| 白细胞和淋巴细胞偏高是什么原因| 肾阳虚和肾阴虚有什么区别症状| 空腹血糖受损是什么意思| 工体是什么意思| 鉴定是什么意思| 普洱茶属于什么茶| 才女是什么意思| 孕妇早上吃什么早餐好| 6.5号是什么星座| 痛苦是什么意思| 质询是什么意思| 青蛙喜欢吃什么| 彩云之南是什么意思| 天伦之乐是什么意思啊| 拉稀是什么原因| 为什么家里会有蟑螂| 磁力链接是什么| 50而知天命什么意思| 体液是指什么| 1658是什么意思| 为什么耳朵后面会臭| 电饭锅内胆什么材质好| 大熊猫吃什么| 余田是什么字| 3月3日是什么节| 下面出血是什么原因| 什么牌子的床垫好| 痛经挂什么科| 看到刺猬有什么预兆| 打狗看主人打虎看什么答案| 茄子炒什么好吃| 头孢治什么| 胆囊萎缩是什么原因| 清华大学校长是什么级别| 硬度不够吃什么好| 山竹有什么功效| 什么东西清肺最好| 阳虚吃什么药| 来姨妈不能吃什么| 类胡萝卜素主要吸收什么光| 早上起床手指肿胀是什么原因| 呕吐发烧吃什么药| 节育环要什么时候取才是最佳时期| sdeer是什么牌子| 运动裤配什么上衣好看| 肺部占位性的病变指什么| 奔现是什么意思| 瞅瞅是什么意思| 勾心斗角是什么意思| 蛇的眼睛是什么颜色| edm是什么意思| 查输卵管是否堵塞要做什么检查| 晏字五行属什么| 一什么所什么| 莲雾是什么| 牙齿酸痛什么原因| 梦见大山是什么预兆| 香草是什么| 知了猴有什么营养| 四月十四日是什么节日| 猴跟什么生肖相冲| 剑突下是什么位置| 豆角是什么| 肠鸣吃什么药| 老放屁是什么情况| 兵戎相见是什么意思| 吐血拉血是什么病的症状| 冬瓜什么季节吃最好| 梅开二度的意思是什么| 散人是什么意思| 蛋白尿是什么颜色| 丁未年五行属什么| 吃什么养脾胃| dcr是什么意思| 1月22号什么星座| 长期吃避孕药有什么危害| 肾结石要注意些什么| 什么是oa| 吃竹笋有什么好处和坏处| 属鸡本命佛是什么佛| 白芷泡水喝有什么功效| 佝偻病是缺什么| 燕然未勒归无计的上一句是什么| 手臂酸痛什么原因| 花生和什么不能一起吃| 龙和什么属相相克| 离岸人民币是什么意思| 肺结核早期有什么症状| 嗓子疼咳嗽是什么原因| 地球属于什么星系| 无国界医生是什么意思| 白露是什么季节| 小孩尿酸高是什么原因| 现在是吃什么水果的季节| 病毒发烧吃什么药| 一血是什么意思| 甘油三酯高吃什么食物| 大便黑绿色是什么原因| 子宫肌瘤长在什么位置| 六角龙吃什么食物| 孕妇不能吃什么| 分化是什么意思| 咒语是什么意思| 开心果是什么意思| 石女是什么意思啊| 乙肝病毒表面抗体高是什么意思| 一个石一个夕念什么| 江浙沪是什么意思| 嘈杂纳减是什么意思| 有福是什么意思| 癫疯是什么原因引起| 5月4日是什么星座| 酚氨咖敏片的别名叫什么| 什么是医疗器械| 2021属什么| 月经老是提前是什么原因| 孕妇吃西红柿对胎儿有什么好处| 腺体肠化是什么意思| 经常过敏是什么原因| 老年痴呆症又叫什么名字| 豆浆喝多了有什么坏处| 6月14日是什么星座| 一什么树叶| 胎儿股骨长是什么意思| 我什么都可以| 总做噩梦是什么原因| 玫瑰什么时候开花| 米黄配什么颜色好看| plano是什么意思| 肛门瘙痒用什么药膏好| 俗气是什么意思| 七月十号是什么日子| 今天什么生肖最旺| 大熊猫的尾巴是什么颜色| 类风湿什么症状| 什么是商k| 消化快容易饿什么原因| 肺与什么相表里| 有所作为的意思是什么| 窦性心动过缓伴不齐是什么意思| 儿童腹泻吃什么药| 花枝鼠吃什么| 睡觉咬舌头是什么原因| 钱癣用什么药膏最好| 宫外孕什么意思| 3月5日是什么星座| 纯钛对人体有什么好处| 辩驳是什么意思| 病假需要什么医院证明| 河马吃什么| 球虫病有什么症状| 贫血吃什么补得快| 摸底是什么意思| 手指甲有竖纹什么原因| 乙醚是什么| 梦见野猪是什么预兆| 阴虚火旺吃什么水果| 人授后吃什么容易着床| 穿拖鞋脚臭是什么原因| 什么是狐臭| 什么叫早搏| 脑内散在缺血灶是什么意思| 什么是量子力学| 哀恸是什么意思| 处男是什么意思| 为什么会感染hpv| 放电是什么意思| 看近视眼挂什么科| 高筋面粉可以做什么| 什么时间人流| bn是什么意思| 荔枝是什么季节的水果| 劣迹斑斑是什么意思| 银行卡睡眠状态是什么意思| 百度Jump to content

山西要闻--山西频道--人民网

From Wikipedia, the free encyclopedia
百度 根据共有产权最少3成首付计算,他需要贷款万元。

ART
Developer(s)Google
Repositoryandroid.googlesource.com/platform/art/
Written inC++
Operating systemAndroid
PlatformARM64 RISC-V x86
Included withAndroid
PredecessorDalvik
TypeRuntime environment
LicenseApache License 2.0[1]
Websitesource.android.com/docs/core/runtime Edit this on Wikidata

Android Runtime (ART) is an application runtime environment used by the Android operating system. Replacing Dalvik, the process virtual machine originally used by Android, ART performs the translation of some of the application's bytecode into native instructions that are later executed by the device's runtime environment.[2]

Overview

[edit]
A comparison of Dalvik and ART architectures

Android 2.2 "Froyo" brought trace-based just-in-time (JIT) compilation into Dalvik, optimizing the execution of applications by continually profiling applications each time they run and dynamically compiling frequently executed short segments of their bytecode into native machine code. While Dalvik interprets the rest of an application's bytecode, native execution of those short bytecode segments, called "traces", provides significant performance improvements.[3][4]

Unlike Dalvik, ART introduces the use of ahead-of-time (AOT) compilation by compiling the most performance-critical parts of applications (previously, the entire app) into native machine code upon their installation. This way, ART improves the overall execution efficiency and reduces power consumption, which results in improved battery autonomy on mobile devices. At the same time, ART brings faster execution of applications, improved memory allocation and garbage collection (GC) mechanisms, new applications debugging features, and more accurate high-level profiling of applications.[2][5][6]

To maintain backward compatibility, ART uses the same input bytecode as Dalvik, supplied through standard .dex files as part of APK files, while the .odex files are replaced with Executable and Linkable Format (ELF) executables. Once an application is compiled by using ART's on-device dex2oat utility, it is run from the compiled ELF executable; as a result, ART eliminates various application execution overheads associated with Dalvik's interpretation and trace-based JIT compilation.

A disadvantage of ART is that additional time is required for compilation when an application is installed, and applications take up slightly more secondary storage (usually flash memory) to store the compiled code.[2][5][6] Long AOT compilation became especially problematic when monthly security updates became the norm, locking users out of the OS for a long time after each update.

To improve on these, a hybrid approach was introduced in Android 7.0 (Nougat) which originally relies on JIT compilation, but later, when the device is idle and charging, compiles the most frequently used code as well as that on the UI thread to native code.[7]

History

[edit]

Android 4.4 "KitKat" introduced a technology preview of ART as an alternative runtime environment to Dalvik, which remained the default virtual machine.[8][9] In the subsequent major Android release, Android 5.0 "Lollipop", Dalvik was entirely replaced by ART.

Android 7.0 "Nougat" turned the ART from a pure AOT to a hybrid JIT/AOT solution, while switching its Java Runtime Environment from the discontinued Apache Harmony to OpenJDK, introducing a JIT compiler with code profiling.[10] The JIT compiler complements ART's AOT compiler, helping to improve runtime performance and save storage space by identifying "hot code" (code which is frequently used, runs on the UI thread or affects startup time), which the AOT compiler compiles to machine code while the device is idle and charging. Less-frequently used code relies on JIT compilation.[11][12]

Android 9 "Pie" reduced the amount of storage used by APKs by using compressed bytecode files, and profiler data can be uploaded to Google Play servers to be bundled with apps when downloaded by users with a similar device, which shortens download time from Google Play by up to 40%. Google Play cloud profiles allow apps to be optimized on installation, which helps avoid the initial performance issues present on Android 7.0 to 8.1.[13]

In July 2021,[14] the concept of baseline profiles was introduced. Baseline profiles are ART profiles that define methods and classes which should undergo AOT compilation from an app's first launch, and are compatible with Android 7.0 and later. They provide similar functionality to Android 9's Google Play cloud profiles when they are not available and automatically merge with cloud profiles when they are available. Baseline profiles are included with releases of AndroidX libraries and Jetpack Compose.[15]

ART was updated with a new garbage collector (GC) utilizing the Linux userfaultfd system call in Android 13.[16][17][18] It reduces memory pressure, compiled code size and jank, and prevents the risk of killing apps because of low memory during garbage collection.[18] Other changes also improve app startup, reduce jank and improve performance.[18] Because of the Mainline project, Android 12's ART will also be updated.[16]

See also

[edit]

References

[edit]
  1. ^ "NOTICE - platform/art - Git at Google". Archived from the original on March 4, 2023. Retrieved June 25, 2021.
  2. ^ a b c Andrei Frumusanu (July 1, 2014). "A Closer Look at Android RunTime (ART) in Android L". AnandTech. Archived from the original on July 5, 2014. Retrieved July 5, 2014.
  3. ^ Ben Cheng; Bill Buzbee (May 2010). "A JIT Compiler for Android's Dalvik VM" (PDF). android-app-developer.co.uk. Google. pp. 5–14. Archived from the original (PDF) on November 6, 2015. Retrieved March 18, 2015.
  4. ^ Phil Nickinson (May 26, 2010). "Google Android developer explains more about Dalvik and the JIT in Froyo". androidcentral.com. Archived from the original on April 8, 2017. Retrieved July 8, 2014.
  5. ^ a b "Android Developers: ART and Dalvik". source.android.com. March 9, 2015. Archived from the original on March 15, 2015. Retrieved March 18, 2015.
  6. ^ a b "Android Developers: Configuring ART – How ART works". source.android.com. March 9, 2015. Retrieved March 18, 2015.
  7. ^ Amadeo, Ron (August 22, 2016). "Android 7.0 Nougat review—Do more on your gigantic smartphone". Ars Technica. Retrieved April 5, 2023.
  8. ^ Sean Buckley (November 6, 2013). "'ART' experiment in Android KitKat improves battery life and speeds up apps". Engadget. Archived from the original on January 27, 2017. Retrieved July 5, 2014.
  9. ^ Daniel P. (November 7, 2013). "Experimental Google ART runtime in Android KitKat can bring twice faster app executions". phonearena.com. Archived from the original on July 7, 2014. Retrieved July 5, 2014.
  10. ^ "Android 7.0 for Developers". Android Developers. Retrieved March 22, 2021.
  11. ^ Amadeo, Ron (August 22, 2016). "Android 7.0 Nougat review—Do more on your gigantic smartphone". Ars Technica. Retrieved April 5, 2023.
  12. ^ "Implementing ART Just-In-Time (JIT) Compiler". source.android.com. January 22, 2017. Archived from the original on August 8, 2023. Retrieved January 22, 2017.
  13. ^ Amadeo, Ron (September 13, 2018). "Android 9 Pie, thoroughly reviewed". Ars Technica. Archived from the original on November 30, 2018. Retrieved August 16, 2022.
  14. ^ "ProfileInstaller | Jetpack". Android Developers. Archived from the original on August 8, 2023. Retrieved July 5, 2023.
  15. ^ Semenova, Kateryna; Ravikumar, Rahul; Craik, Chris (January 28, 2022). "Improving App Performance with Baseline Profiles". Android Developers Blog. Archived from the original on August 8, 2023. Retrieved July 5, 2023.
  16. ^ a b Gidra, Lokesh (May 12, 2022), What's new in app performance, archived from the original on August 16, 2022, retrieved August 16, 2022
  17. ^ Gidra, Lokesh; Boehm, Hans-J.; Fernandes, Joel (October 12, 2020). "Utilizing the Linux Userfaultfd System Call in a Compaction Phase of a Garbage Collection Process". Defensive Publications Series. Archived from the original on August 16, 2022. Retrieved August 16, 2022.
  18. ^ a b c "Android 13 is in AOSP!". Android Developers Blog. Archived from the original on August 15, 2022. Retrieved August 16, 2022.
[edit]
眼睛发胀是什么原因 眼睛充血是什么原因造成的 腿痒是什么原因 身体发冷是什么原因 医保是什么
金丝皇菊有什么功效 糖尿病喝什么茶 冲菜是什么菜 乳腺低回声结节是什么意思 2月23号是什么星座
女人眉毛稀少代表什么 什么草药治肿瘤最佳 阿胶是什么做的 为什么放屁多 痕迹是什么意思
蓓字五行属什么 骄阳似火是什么意思 低gi什么意思 血小板低有什么危害 泰坦尼克号什么时候上映的
际会是什么意思hcv9jop2ns6r.cn 古人的婚礼在什么时候举行xscnpatent.com 左侧卵巢内囊性回声是什么意思hcv8jop1ns7r.cn 乏了是什么意思hcv7jop7ns1r.cn 白细胞偏高是什么意思hcv7jop5ns1r.cn
脸长适合什么样的发型zhiyanzhang.com 白配什么颜色好看hcv9jop6ns4r.cn 脾不好吃什么药最见效hcv9jop5ns5r.cn 尿崩症是什么意思hcv9jop3ns8r.cn 子宫回声欠均匀是什么意思hcv8jop5ns6r.cn
不是月经期出血是什么原因hcv9jop3ns1r.cn 湖南有什么好玩的地方hcv9jop2ns3r.cn 104岁属什么生肖hcv9jop6ns8r.cn 羊蛋是什么部位hcv8jop1ns5r.cn 农历十月初八是什么星座hcv7jop7ns1r.cn
空心菜不能和什么一起吃wzqsfys.com 水逆是什么hebeidezhi.com 女生痛经有什么办法缓解hcv8jop0ns3r.cn 小孩眨眼睛是什么原因hcv7jop6ns5r.cn 水怡是什么wuhaiwuya.com
百度