<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      Xamarin App文件(apk)大小和啟動時間的影響因素

      Xamarin開發的時候大家都有一個疑問,就是apk文件會不會特別的大,啟動會不會很慢。答案是肯定的,文件肯定大,啟動肯定會慢,但是具體大多少、具體慢多少,有什么因素可以使apk文件稍微小一點、可以使啟動時間稍微短一點呢?

       How to make a Xamarin.Forms app have smaller apk size and start up faster?

      在Xamarin的編譯選項中有幾個比較關鍵,分別是:BundleAssemblies AotAssemblies EnableLLMV和 AndroidLinkMode

      這三個選項的編輯頁面只有在enterprise版本里有,但是如果你是community版本,依然可以通過修改csproj文件直接修改這些編譯選項。

      通過創建一個默認的Xamarin.Forms工程,修改各種編譯選項,然后看它的編譯的apk大小和啟動時間,得出下表。這里啟動時間是指從點擊啟動app到肉眼判斷第一個頁面完全顯示。

       

       

       

      Bundle

      AoT

      LLVM

      Link none

      Link sdk

      Link all

      Api size (M)

      Startup time (s)

       

      1

       

       

       

       

      Y

       

      21

      4.5

       

      2

       

       

       

       

       

      Y

      15

      4.24

       

      3

       

      y

      y

       

       

      y

      24

      4.2

       

      4

      y

      y

      y

       

       

      y

      17

      4.6

      Link all 大小減少6M (2)

      5

      y

      y

      y

       

      y

       

      22m

      4.7s

      Link sdk 大小減少10m (1)

      6

      y

      y

      y

      y

       

       

      32

      5.5s

       

      7

      Y

      Y

       

       

       

      y

      20

      2.7

       

       

      8

      y

      y

       

       

      y

       

      25.7

      2.7

       llvm加大啟動時間2s (3)

      9

       

      Y

       

       

       

      Y

      27

      2.5

      AoT使apk大8M (4)

      啟動時間減少2s

      (1)比較6和5:link sdk可以使得apk大小減小10M。

      (2)比較5和4:link all可以使得apk大小再減小6M。

      (3)比較8和5:llvm會使apk大小減小3M,但啟動時間增加了2s。

      (4)比較9和2:AoT會使apk大小變大8M

      綜合結論:

      AndroidLinkMode對apk大小有很大影響,link all時apk文件最小。對啟動時間基本無影響。

      EnableLLMV會使apk大小減小,但啟動時間變長。

      AotAssemblies 使apk大小變大。

      AotAssemblies 使啟動時間變短。(這個是間接得出的結論,因為啟動時間變化的因素中:link mode無影響,LLVM使時間變長,Bundle基本無影響,那么使啟動時間變短的只能是AotAssemblies )

      BundleAssemblies 對文件大小、啟動時間的影響較小。

      結論:

      apk大小和啟動時間是互斥的。建議的選項配置:使用BundleAssemblies、AotAssemblies  AndroidLinkMode(sdk & user,也就是all),不使用EnableLLMV。

       

      同時可以得到,Xamarin.Froms程序,apk大小大約20M,啟動時間2秒。

       

      題外話:

      這其實是Xamarin將c#編譯為native code的一個應用,也可以把這個特性(BundleAssemblies, AotAssemblies)當做一個混淆代碼的更佳方案。

      posted @ 2017-06-10 16:23  upcode-site  閱讀(2471)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 精品一区二区三区不卡| 亚洲色欲久久久久综合网| 久久人人妻人人爽人人爽| 精品人妻伦一二三区久久| 果冻传媒董小宛视频| 通江县| 动漫精品中文无码卡通动漫| 成人区人妻精品一区二区| 最近免费中文字幕mv在线视频3| 亚洲av永久无码精品水牛影视| 国产伦人人人人人人性| 无码人妻丝袜在线视频| 乱60一70归性欧老妇| 久久精品国产一区二区三| 亚洲精品中文综合第一页| 精品一区二区不卡无码AV| 99久久99这里只有免费费精品| 久久精品国产精品亚洲综合| 26uuu另类亚洲欧美日本| 五月婷婷中文字幕| 大陆一级毛片免费播放| 天堂av色综合久久天堂| 久久精品国产99久久无毒不卡| 福利视频在线一区二区| 国产一区二区精品久久凹凸| 高清中文字幕国产精品| 大邑县| 久久精品亚洲精品国产区| 四虎永久精品免费视频| 97se亚洲国产综合自在线观看| 又爽又黄又无遮挡的视频| 香港日本三级亚洲三级| 精品久久精品久久精品久久| 东北妇女精品bbwbbw| 爆乳喷奶水无码正在播放| 亚洲伊人久久精品影院| 亚洲成色精品一二三区| 国产亚洲精品综合一区二区| 最近中文字幕完整版hd| 中文在线а√天堂| 无码AV无码免费一区二区|