<>
<> 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
Daily Recommendation