<>

<> One , Huawei EMUI10.1 System update description :

<>

<> Two , The latest download from Huawei application market 3.6.1 Version of Sina News quick version :

<>

<>

<> Three , Test it :

<>3.1 performance

<>
I also made a comparison in the same one level On non Huawei mobile phones , It is found that cold start is fast at some time , Hot start is almost the same , Although the performance is not as big as expected , But it's a sign that the ark is officially opening its foreign products , Look forward to the performance optimization in the future .

<>3.2 Run the test

<> Observe the installation package and find a different place :

<>

<> Obviously , because maple Is the name of the intermediate file after the ark compiler has finished processing , Open and find out :

<>

<> Before analysis, test to see if there is any separation from Android java virtual machine :

<>

<>

<> On the right, I deleted almost all of them dex Classes and methods , Keep only one dex The shell of
, Avoid system detection , If not, it may not be installed , And then repackage , In Huawei EMUI10.1 No problem running on , Explain after the ark compiler processing APP Completely detached dalvik/art, Really NB.

<> Because mobile phones can't help it root, Simple runtime observation log can also see a basic start-up time maple technological process :

<>

<> Four , Brief analysis :

<>maple Folder :

<>apk.info: It's about this APK A record of some information at compile time ;

<>
the other one mapleclasses.so That's what the ark dealt with above dex File generated so file , It's a little big at first ,20 many M,APK The whole bag is bigger than before 10M about , This may be a problem for the ark to solve in the future , But it doesn't matter here .

<>

<>libmaplecore-all.so The document is APP The toolchain, Because the cell phone doesn't root be unable to attain ;

<>

<> You can see the festival ,.java_text It's the whole thing so Document core , It should be right dex The main embodiment after the translation of documents .

<>

<>
This is RC Mechanism management and some functions referenced , And some interface functions for call processing between functions , about so There are also a large number of strings in the file , It is the main point of future reverse analysis , Roughly analyzed and observed

<>

<> Here's a way :Setvideolist Take a simple look :

<>java The method of layer correspondence :

<>

<> After the ark has been disposed of so In the file :

<>

<>
You can see by passing the corresponding parameters "setVideoList|(Lcom/sina/sinavideo/sdk/data/VDVideoListInfo;)V",0" to .MCC_getFuncPtrFromItab Call processing , It's logical .

<>

<> Five , summary :

<> I have a general look , The following points are found :

<>1. Huawei did use the ark to break away from Android virtual machines , And it can solve all the problems of conversion performance compatibility and hot change in this time , The spirit of study is really worth learning .

<>2. No significant improvement in performance may be in that exception handling and GC/RC That piece needs further optimization , Trust them to do well , Still looking forward to it ;

<> Areas for continuous improvement :

<>
1. Huawei continues to keep it in order to be compatible with other mobile phones dex file , But it's compiled so The files are quite large , Volume is an optimized place , If it's a big one APP The words of dex A lot of documents, big words , It could be big .

<>2. It's compiled so file , String and logic are too obvious to follow J2C The effect of conversion is similar , Third party protection is required ; Of course, it can be abandoned dex The security of the file has been greatly improved .

Technology
©2019-2020 Toolsou All rights reserved,
Final review of database : Summary of comprehensive application questions use Python Make simple games Laplance operator ( Second derivative ) Convert hard disk to GPT Partition format Python Implementation of Hanoi Tower code about String How to create objects vue3 Learning journey 1—— establish vue3 project java String from back to front _Java String String summary use Python Write a story about plants versus zombies 【 Greedy Algorithm 】 Huffman coding problem