<>

<> 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,
Digital rolling lottery program Keras Save and load model (JSON+HDF5) Remember once EventBus Project issues caused by memory leaks I've been drinking soft water for three years ? What is the use of soft water and water softener msf Generate Trojan horse attack android mobile phone Time conversion front desk will 2020-07-17T03:07:02.000+0000 Into 2020-07-17 11:07:02 Chuan Shen 1190 Reverses the substring between each pair of parentheses leetcodehive Summary of processing methods for a large number of small files SparkSQL Achieve partition overlay write Image format conversion