您好,登錄后才能下訂單哦!
這篇文章主要講解了“Unity3d打包后移動端啟動黑屏時間太久怎么解決”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“Unity3d打包后移動端啟動黑屏時間太久怎么解決”吧!
1,黑屏的時候在干什么,如何減少這個黑屏的時間(比如Resrources里塞太多東西是否會對此有影響)。
開始黑屏的時候在加載資源。有人說先是 Unity Player 的內核,然后再到你游戲里的資源。Resrources里塞太多東西會對加載速度有影響。解決的辦法是通過代碼實現動態加載。
2,如何解決黑屏太久體驗差的問題。
優化resources內的資源,盡量用動態加載的方式,盡量使resources內資源量最少。另外在移動端寫自己自定義的界面在啟動的時候就調用顯示遮擋黑屏,在unity界面出現后再隱藏原生界面(目前最直接有效的方法android和Ios都可以)后面會記錄安卓端的處理方式
3,u3d收費版提供了一個自定義啟動畫面的功能,這個功能是否僅僅只是替換黑屏后的u3d logo為自定義畫面?
其實在最初網上搜尋資料的時候發現很多人都認為unity本身已經做過優化了,說是收費版提供的自定義的logo界面可以降低啟動黑屏的體驗差感。后來測試根本無效,這個功能是否僅僅只是替換黑屏后的u3d logo為自定義畫面而已對啟動速度或者啟動界面來講沒有任何優化,只是減短黑屏時間而已。
4,官方為啥不提供某個全平臺統一的方式來達到:點擊app icon -> 快速啟動某個用戶自定義界面 -> 引擎初始化,第一個游戲場景加載(此過程耗時不定) -> 加載完成后通知用戶,關掉啟動界面,顯示游戲場景。
這些功能需要開發者自己寫程序來實現。因為開發者的需求多種多樣,引擎一般不會提供太多傻瓜式的一體化方案。Unity3D引擎編譯出來的游戲,安裝包都偏大,在移動設備上的加載速度確實是偏慢的
安卓端代碼:記得把顯示的圖片放到資源目錄drawable里面
public class MyActivity extends UnityPlayerActivity { private ImageView bgView = null; protected void onCreate(Bundle arg0) { super.onCreate(arg0); SetSplash(); } public void SetSplash( ) { bgView = new ImageView(mUnityPlayer.currentActivity); bgView.setBackgroundResource(R.drawable.loadingsplash); bgView.setScaleType(ImageView.ScaleType.FIT_XY); mUnityPlayer.addView(bgView); } public void HideSplash() { new Handler(Looper.getMainLooper()).post(new Runnable() { @Override public void run() { if(bgView != null) { mUnityPlayer.removeView(bgView); bgView = null; } } }); }
unity端代碼:略只需要在加載 第一個unity界面的時候調用HideSplash()方法即可。
感謝各位的閱讀,以上就是“Unity3d打包后移動端啟動黑屏時間太久怎么解決”的內容了,經過本文的學習后,相信大家對Unity3d打包后移動端啟動黑屏時間太久怎么解決這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。