Unity3d打包后移动端启动黑屏时间太久怎么解决

这篇文章主要讲解了“Unity3d打包后移动端启动黑屏时间太久怎么解决”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Unity3d打包后移动端启动黑屏时间太久怎么解决”吧!

创新互联公司是一家专业提供会泽企业网站建设,专注与成都做网站、网站制作、H5开发、小程序制作等业务。10年已为会泽众多企业、政府机构等服务。创新互联专业网络公司优惠进行中。

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打包后移动端启动黑屏时间太久怎么解决这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是创新互联,小编将为大家推送更多相关知识点的文章,欢迎关注!


网站名称:Unity3d打包后移动端启动黑屏时间太久怎么解决
网站网址:http://hbruida.cn/article/ggosjh.html