欢迎加入Unity业内qq交流群:956187480

qq扫描二维码加群,行业纵横颇多,每个人精通领域各异,旨在交流,


.公司性质使然,经手很多小项目。在美术资源少,代码框架简单的情况下一般不会考虑到性能优化,资源管理优化的问题。包体小启动速度基本也没有很明显的延迟。但是经过去年的一个项目跟今年的一个项目的洗礼后发现即便你的资源管理做过优化,项目框架也没什么大问题(其实也就是能顺利运行)的情况下在移动端启动应用的时候会黑屏很长一段时间,测试过最高一次是12秒,简直不能忍受。当然这个时间是根据不同性能的手机变化的(千元机)。由此引发以下疑问:

打包安装到手机上,启动应用,这时会黑屏一阵子,然后u3d的logo出来,过一段时间logo消失,然后进入游戏场景。如果是收费版隐藏掉unitylogo后黑屏时间就会更长。

1,黑屏的时候在干什么,如何减少这个黑屏的时间(比如Resrources里塞太多东西是否会对此有影响)。

开始黑屏的时候在加载资源。有人说先是 Unity Player 的内核,然后再到你游戏里的资源。Resrources里塞太多东西会对加载速度有影响。解决的办法是通过代码实现动态加载

2,如何解决黑屏太久体验差的问题。

优化resources内的资源,尽量用动态加载的方式,尽量使resources内资源量最少。另外在移动端写自己自定义的界面在启动的时候就调用显示遮挡黑屏,在unity界面出现后再隐藏原生界面(目前最直接有效的方法android和Ios都可以)后面会记录安卓端的处理方式

3,u3d收费版提供了一个自定义启动画面的功能,这个功能是否仅仅只是替换黑屏后的u3d logo为自定义画面?

其实在最初网上搜寻资料的时候发现很多人都认为unity本身已经做过优化了,说是收费版提供的自定义的logo界面可以降低启动黑屏的体验差感。后来测试根本无效,这个功能是否仅仅只是替换黑屏后的u3d logo为自定义画面而已对启动速度或者启动界面来讲没有任何优化,只是减短黑屏时间而已。

4,官方为啥不提供某个全平台统一的方式来达到:点击app icon -> 快速启动某个用户自定义界面 -> 引擎初始化,第一个游戏场景加载(此过程耗时不定) -> 加载完成后通知用户,关掉启动界面,显示游戏场景。

这些功能需要开发者自己写程序来实现。因为开发者的需求多种多样,引擎一般不会提供太多傻瓜式的一体化方案。Unity3D引擎编译出来的游戏,安装包都偏大,在移动设备上的加载速度确实是偏慢的


下面记录安卓端的启动原生界面流程

先声明此种做法可能会引起一些完美主义或者强迫症者的反感,勿喷。虽然也算是取巧走了歪路单也算是能满足领导需求。所有的解决方案以满足需求为主。

1.unity跟安卓交互参考之前的记录博客

2.安卓端代码:记得把显示的图片放到资源目录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() {@Overridepublic void run() {if(bgView != null){mUnityPlayer.removeView(bgView);bgView = null;}}});}

3.unity端代码:略只需要在加载 第一个unity界面的时候调用HideSplash()方法即可。


欢迎加入Unity业内qq交流群:956187480

qq扫描二维码加群,行业纵横颇多,每个人精通领域各异,旨在交流,

【Unity项目优化宝典】Unity3d打包后移动端启动黑屏时间太久相关推荐

  1. 【Unity项目优化宝典】静态批处理和动态批处理

    欢迎加入Unity业内qq交流群:956187480 qq扫描二维码加群 一:Batching批处理须知 1.如果多个对象使用了同一个材质,则unity会一次性将使用了同一材质的对象绘制信息传递给GP ...

  2. Unity3D打包后日志文件输出目录

    Unity3D打包后日志文件输出目录,包括日志文件和崩溃时记录文件 C:\Users\Administrator\AppData\LocalLow\长沙迪迈科股份有限公司\镍矿探秘 其中". ...

  3. 【转】Android APP 启动黑屏优化补丁 (2016-01-18 10:35:23)

    [转]Android APP 启动黑屏优化补丁 (2016-01-18 10:35:23) 转载▼ 这个必须转,这才是高手,解决官方都解决不好的问题! 原文地址,以下为转贴内容: 使用说明 ***** ...

  4. win10锁定计算机后黑屏,Win10系统如何设置锁屏后不睡眠不黑屏

    大家都知道当win10系统锁屏之后一会就回自动进入睡眠并黑屏,要使用的话需要我们唤醒计算机,但是很多用户希望锁屏后不睡眠不黑屏,该怎么操作呢,本文就给大家带来Win10系统设置锁屏后不睡眠不黑屏的具体 ...

  5. 无盘服务器多机启动慢,网卡PNP驱动兼容问题导致无盘客户机启动获取DHCP后白条时间长、滚动圈数多、黑屏时间...

    [问题现象] 无论人多人少,客户机开机随机出现开机白箭头====>>>现象,白条过后黑屏时间比较长,用户说可能会有3~5分钟,但是看到的时候大概是30秒左后,然后进入滚动条,再要滚1 ...

  6. win7 域环境客户端启动后进入登录界面黑屏

    win7 域环境客户端启动后进入登录界面黑屏,屏幕显示鼠标问题,按CTRL+ALT+DEL没有任何反应. 1.进入安全模式正常,安全模式下修改注册表, HKEY_Local_Machine\Softw ...

  7. mac拓展显示屏睡眠或锁屏后启动黑屏,mac typeC不支持4K 60HZ

    问题一.mac拓展显示屏睡眠或锁屏后启动黑屏 解答:参考文章:display - External monitor stays black after "locking" (or ...

  8. linux修改分辨率后电脑黑屏,解决ubuntu开机启动黑屏以及分辨率问题

    前些日子在win7下用EasyBCD硬盘安装了ubuntu作为开发环境,显卡Nvidia的,出现以下问题: 一: 安装之后启动菜单无ubuntu项==>在EasyBCD下手动建立启动项解决. 二 ...

  9. 华硕电脑如何开启虚拟化?华硕飞行堡垒7开启虚拟化后,电脑开机黑屏;BOIS中将SVM Mode选择为Enabled就开不了机;控制面板中打开Hyper-V和windows虚拟机监控平台后,重启电脑黑屏

    华硕电脑如何开启虚拟化?华硕飞行堡垒7开启虚拟化后,电脑开机黑屏:BOIS中将SVM Mode选择为Enabled就开不了机:控制面板中打开Hyper-V和windows虚拟机监控平台后,重启电脑黑屏 ...

最新文章

  1. ibatis查询SQL语句返回一个对象,此对象包含一个List属性
  2. 特斯拉上海超级工厂开工 预计今夏完成初期建设
  3. mac安装完python怎么打开-Mac OS系统如何安装python
  4. 数据库系统概论:第九章 关系查询和关系优化
  5. 网络流(3)——找到最小st-剪切
  6. linux下查看某个文件或目录占用磁盘空间的大小
  7. python3.7.2安装与pycharm_Python3和PyCharm安装与环境配置【图文教程】
  8. GeekOS课程设计-project1
  9. mybatisplus修改单个属性_SolidWorks工程图比例:整体修改与单视图修改
  10. 利用Mimics.19对肺支气管进行三维重构
  11. win7_ fiddler 证书安装失败解决方法
  12. 计算机网络基础之互联网总结
  13. Bouncy Castle 密钥生成发放证书
  14. 我的十年 谨以此文迎接我即将到来的三十而立
  15. java网页作业提交_基于JAVA网上作业提交批改系统的设计(SQL)(含录像)
  16. omap-l138烧写程序之 - 启动模式选择及确认
  17. request+cheerio+iconv-lite+phantomJs制作简单漫画网站爬虫NodeJs项目
  18. Protocol Buffers和JSON相互转换
  19. 安科瑞AFL-T系列分流器最大额定电流10kA,结构上≤50A时采用塑料底座固定安装,>50A时直接用铜端子固定安装
  20. 显示和隐藏mac文件

热门文章

  1. PyQt使用ICE框架实现通信
  2. snmp默认团体名/弱口令漏洞及安全加固
  3. 【老王的脑科学谬论】CSDN问答区老王谬论悬赏辩论赛二番战(再次求锤失败4月6日已结题)
  4. 静态路由与动态路由协议OSPF、RIP简介及静态路由配置命令
  5. Numpy:np.all() np.any()
  6. 计算机视觉(四)全连接神经网络MLP
  7. 关于DMS批量导入的注意事项
  8. 【门禁小知识】常用门禁分类及连接图
  9. GPS人员定位系统:一种更安全高效的人员定位管理系统
  10. 【源码】让源码告诉你:为什么在子线程无法更新 UI 操作?