Unity引擎关于APP后台下载支持的实现问题

1)Unity引擎关于APP后台下载支持的实现问题
2)Prefab对DLL中脚本的引用丢失
3)Unity DOTS资源加载问题
4)UnitySendMessage和_MultiplyMatrixArrayWithBase4x4_NEON调用导致崩溃


这是第376篇UWA技术知识分享的推送,精选了UWA社区的热门话题,涵盖了UWA问答、社区帖子等技术知识点,助力大家更全面地掌握和学习。

Network

Q:最近很多游戏在Loading界面会标明支持后台下载模式,项目也计划实现一个,首先找到了Unity自带的BackgroundDownload解决方案,功能是可以的,也好接入,但项目中的文件数量比较多,有大几万个,同时建立这么多链接非常卡顿,经过简易优化,速度提升了一些,同时平滑建立连接数不再那么卡顿,但所有连接建立完还是需要很长时间,同时Android环境在创建1000+个下载服务时,会崩溃,没有明确的报错,每次会有下图中的异常!

咨询下各位大佬,如下几个问题:
1. 崩溃如何处理?
2. 如何平滑快速地建立起下载连接?
3. 有没有其他更好的处理类似问题的解决方案?

A:可以试试以下方案:

方案1:把所有要下载的任务,放到1个队列,开多个线程去处理这个队列的下载任务,并且限制设定同时下载的任务数。

方案2:把对应资源,根据一些规则(如:等级1-10级会用到的资源在1个zip包,11-20级会用到的资源放在1个zip包),然后根据一些条件在不同时刻来下载不同的zip包。

感谢hejianchun@UWA问答社区提供了回答


Prefab

Q:开发时,不希望策划看到源码,于是将源码替换成DLL,但是这样挂在Prefab上的脚本引用会丢失,请问怎么解决?

A:可以试试以下方案:
方案1:程序项目内也使用DLL的方式。
方案2:Component动态Add上去。

感谢hejianchun@UWA问答社区提供了回答


DOTS

Q:我用Unity ECS 1.0,如果场景里有子Scene,那么子Scene是否勾选的区别是什么?我知道,如果不勾选Bake函数在Editor模式就会开始执行,但如果里面有Resource加载这样的运行时接口就会报错,请问怎么解决?

针对以上问题,有经验的朋友欢迎转至社区交流分享:
UWA问答 | 游戏开发者互动问答社区 | 侑虎科技


Crash

Q:安卓平台崩溃问题,发现调用方法是UnitySendMessage和_MultiplyMatrixArrayWithBase4x4_NEON,各位有遇到过的吗?

Unity版本:2021.3.11f1c2;
libunity.0xe20870-libunity.0xe106b8是UnitySendMessage;
libunity.0x4457cc-libunity.0x50965c是_MultiplyMatrixArrayWithBase4x4_NEON。

信息如下:

Caused by: java.lang.Error: *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
Version '2021.3.11f1c2 (2c7757f00bfe)', Build type 'Release', Scripting Backend 'il2cpp', CPU 'arm64-v8a'
Build fingerprint: 'samsung/e3qxeea/e3q:14/UP1A.231005.007/S928BXXU1AWM9:user/release-keys'
Revision: '13'
ABI: 'arm64'
Timestamp: 2024-02-20 16:59:33+0800
pid: 30649, tid: 31379, name: Job.Worker 1  
uid: 10421
signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x76ebcb5000x0  0000000000000000  x1  000000000000010e  x2  00000000000000ff  x3  0000000000ff0000x4  0000000000a20000  x5  0000000000000010  x6  00000076409907b8  x7  000000000f800000x8  00000075701da080  x9  00000076ebcb5004  x10 00000075701da08c  x11 0000000000000030x12 00000075701da098  x13 0000000000000030  x14 0000000000000000  x15 0000000000000000x16 0000000000000000  x17 00000076409905d4  x18 0000000000000000  x19 0000007640990970x20 00000075e01f3290  x21 00000076ebcb4ffc  x22 0000007640990601  x23 0000000038800000x24 00000000b8800000  x25 0000000000000030  x26 00000075701d6e08  x27 00000076ebcb4ffcx28 0000007640990550  x29 0000000000000000sp  0000007640990480  lr  0000000038000000  pc  000000766ae96870backtrace:#00 pc 0000000000e20870  /data/app/~~iu98SuuYphKnX60ZotTOng==/-vNyiDhpbcBIkm6XnXDDGxg==/lib/arm64/libunity.so (BuildId: ae67f16cb275ae637576fa8522cf80f73e009dd8)#01 pc 0000000000e1550c  /data/app/~~iu98SuuYphKnX60ZotTOng==/-vNyiDhpbcBIkm6XnXDDGxg==/lib/arm64/libunity.so (BuildId: ae67f16cb275ae637576fa8522cf80f73e009dd8)#02 pc 0000000000e10ac4  /data/app/~~iu98SuuYphKnX60ZotTOng==/-vNyiDhpbcBIkm6XnXDDGxg==/lib/arm64/libunity.so (BuildId: ae67f16cb275ae637576fa8522cf80f73e009dd8)#03 pc 0000000000e106b8  /data/app/~~iu98SuuYphKnX60ZotTOng==/-vNyiDhpbcBIkm6XnXDDGxg==/lib/arm64/libunity.so (BuildId: ae67f16cb275ae637576fa8522cf80f73e009dd8)#04 pc 00000000004457cc  /data/app/~~iu98SuuYphKnX60ZotTOng==/-vNyiDhpbcBIkm6XnXDDGxg==/lib/arm64/libunity.so (BuildId: ae67f16cb275ae637576fa8522cf80f73e009dd8)#05 pc 0000000000445acc  /data/app/~~iu98SuuYphKnX60ZotTOng==/-vNyiDhpbcBIkm6XnXDDGxg==/lib/arm64/libunity.so (BuildId: ae67f16cb275ae637576fa8522cf80f73e009dd8)#06 pc 0000000000445c98  /data/app/~~iu98SuuYphKnX60ZotTOng==/-vNyiDhpbcBIkm6XnXDDGxg==/lib/arm64/libunity.so (BuildId: ae67f16cb275ae637576fa8522cf80f73e009dd8)#07 pc 00000000004451b4  /data/app/~~iu98SuuYphKnX60ZotTOng==/-vNyiDhpbcBIkm6XnXDDGxg==/lib/arm64/libunity.so (BuildId: ae67f16cb275ae637576fa8522cf80f73e009dd8)#08 pc 000000000050965c  /data/app/~~iu98SuuYphKnX60ZotTOng==/-vNyiDhpbcBIkm6XnXDDGxg==/lib/arm64/libunity.so (BuildId: ae67f16cb275ae637576fa8522cf80f73e009dd8)#09 pc 00000000000c37b4  /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+208) (BuildId: 37f537c2ba9dcbb262a0a68f41a21da4)#10 pc 000000000005d084  /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+68) (BuildId: 37f537c2ba9dcbb262a0a68f41a21da4)at libunity.0xe20870(Native Method)
at libunity.0xe1550c(Native Method)
at libunity.0xe10ac4(Native Method)
at libunity.0xe106b8(Native Method)
at libunity.0x4457cc(Native Method)
at libunity.0x445acc(Native Method)
at libunity.0x445c98(Native Method)
at libunity.0x4451b4(Native Method)
at libunity.0x50965c(Native Method)
at libc.__pthread_start(void*)(__pthread_start:208)
at libc.__start_thread(__start_thread:68)

针对以上问题,有经验的朋友欢迎转至社区交流分享:
UWA问答 | 游戏开发者互动问答社区 | 侑虎科技

封面图来源于网络


今天的分享就到这里。生有涯而知无涯,在漫漫的开发周期中,我们遇到的问题只是冰山一角,UWA社区愿伴你同行,一起探索分享。欢迎更多的开发者加入UWA社区。

UWA官网:www.uwa4d.com
UWA社区:community.uwa4d.com

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/269726.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

webstorm 创建运行纯Typescript项目

创建一个空项目,在项目根目录创建一个tsconfig.json文件自动配置: 打开终端输入tsc --init,即可自动生成tsconfig.json文件手动配置: 在项目根目录下新建一个tsconfig.json文件,并配置如下内容 具体配置可以直接使用下面的配置&am…

三星成功研发出业界首款12层堆叠HBM3E

三星电子有限公司成功研发出业界首款12层堆叠HBM3E DRAM——HBM3E 12H,这是迄今为止容量最大的HBM产品。这款新型HBM3E 12H内存模块提供了高达1,280GB/s的史上最高带宽,并拥有36GB的存储容量,相较于之前的8层堆叠HBM3 8H,在带宽和…

案例介绍:汽车维修系统的信息抽取技术与数据治理应用(开源)

一、引言 在当今汽车产业的快速发展中,软件已经成为提升车辆性能、安全性和用户体验的关键因素。从车载操作系统到智能驾驶辅助系统,软件技术的进步正在重塑我们对汽车的传统认知。我有幸参与了一个创新项目,该项目专注于开发和集成先进的汽…

Redis是单线程还是多线程?

单线程为什么这么快的原因: 后来引入了多线程是因为:

首尔之春在线资源最新电影1080p高清

打开下面这个链接就可以看到 首尔之春在线资源最新电影1080p高清 如果链接打不开,就复制下面的网址到浏览器打开 https://www.zhufaka.cn/liebiao/A09504AE3BF8BD06 用阿里云盘下载,下载完成之后,用迅雷播放 首尔之春在线资源最新电影10…

Linux:ansible-playbook配置文件(剧本)(进阶)

Linux:ansible-playbook配置文件(剧本)_ansible-playbook -i参数-CSDN博客https://blog.csdn.net/w14768855/article/details/132579492?ops_request_misc%257B%2522request%255Fid%2522%253A%2522170930036016800215061982%2522%252C%2522s…

linux系统Jenkins工具配置webhook自动部署

Jenkins工具webhook自动部署 webhook自动部署webhook的意义操作流程jenkins页面操作gitlab页面操作 webhook自动部署 webhook的意义 自动化部署:Webhook 可以在代码提交、合并请求或其他特定事件发生时自动触发 Jenkins 构建和部署任务,从而实现自动化…

【Java EE 】认识文件与Java文件操作

目录 🍀认识文件🌸树型结构组织 和 目录🌸文件路径(Path)🌸其他知识 🌳Java 中操作文件🌸File 概述🌻属性🌻构造方法🌻方法 🌸代码示例…

放弃了字节32k的工作,回老家拿了8K的offer,我不后悔!

字节一年,人间三年。 虽然之前反复纠结和犹豫,在飞书的流程也是点了又关,但真正到了离开的这一刻,我居然没有太多不舍了。 可能是确实太累了,在字节工作的五百多个日夜里,基本没有在8点之前下过班&#xff…

小米澎湃和华为原生鸿蒙,那个更有发展前景?

小米的澎湃系统暂时不了解,但华为的鸿蒙系统值得一说。 就目前鸿蒙而言;24年初鸿蒙星河版面向开发者开放申请。其底座全线自研,去掉了传统的 Linux 内核以及 AOSP 安卓开放源代码项目等代码,仅支持鸿蒙内核和鸿蒙系统的应用。星河…

网络协议栈--应用层--HTTPS协议

目录 一、HTTPS协议原理1.1 HTTPS协议是什么?1.2 概念准备1.2.1 什么是“加密”?1.2.2 为什么要加密?1.2.3 常见的加密方式1.2.3.1 对称加密1.2.3.2 非对称加密 1.2.4 数据摘要&&数据指纹1.2.5 数字签名1.2.6 理解链-承上启下 1.3 HT…

职场卷王:我用可视化大屏模板做工作汇报,惊艳了同事和领导。

2023结束了,我和我的小伙伴们纷纷开始忙碌的年终总结和汇报。 正忙着汇总Excel数据、写word讲稿、找PPT模板时,我发现隔壁组的老王独自在大会议室偷偷调试起了那台汇报用的电视机。 不会吧不会吧,年终汇报还有一周呢,这家伙PPT都…

yum 和 rpm

rpm说明 rpm -qa :列出所有已安装的软件包 [roothub ~] rpm -qa geoipupdate-2.5.0-1.el7.x86_64 ncurses-base-5.9-14.20130511.el7_4.noarch libndp-1.2-9.el7.x86_64 libfastjson-0.99.4-3.el7.x86_64 。。。 rpm -qf FILENAME :查找提供 FILENAME…

HCIA-HarmonyOS设备开发V2.0证书

目录 一、不墨迹,上证书二、考试总结三、习题四、知识点五、坚持就有收获 HCIA-HarmonyOS Device Developer V2.0 开发者能力认证考试已通过。 一、不墨迹,上证书 一个多月的努力,验证了自己的学习成果,也认识到自己有待提升之处…

用边缘计算网关解决离散行业数采问题-天拓四方

一、引言 随着工业4.0时代的来临,离散制造行业正面临数字化转型的关键节点。离散制造的特点是小批量、多品种、高复杂度,如何实现高效、精准的数据采集与分析,提升生产效率和产品质量,成为行业亟待解决的问题。边缘计算网关作为一…

C#高级:Winform桌面开发中DataGridView的详解

一、每条数据增加一个按钮&#xff0c;点击输出对应实体 请先确保正确添加实体的名称和文本&#xff1a; private void button6_Click(object sender, EventArgs e) {//SQL查询到数据&#xff0c;存于list中List<InforMessage> list bll.QueryInforMessage();//含有字段…

xss.haozi:0x00

0x00没有什么过滤所以怎么写都没有关系有很多解 <script>alert(1)</script>

Java基于微信小程序的4S店汽车保养小程序

博主介绍&#xff1a;✌程序员徐师兄、7年大厂程序员经历。全网粉丝12w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447;…

Ubuntu下安装Scala

前言 弄了一下终于成功装上了&#xff0c;这里对此进行一下总结 安装虚拟机 VMware虚拟机安装Ubuntu&#xff08;超详细图文教程&#xff09;_vmware安装ubuntu-CSDN博客https://blog.csdn.net/qq_43374681/article/details/129248167Download Ubuntu Desktop | Download | …

鸿蒙Harmony应用开发—ArkTS声明式开发(通用属性:图片边框设置)

设置容器组件的图片边框样式。 说明&#xff1a; 从API Version 9开始支持。后续版本如有新增内容&#xff0c;则采用上角标单独标记该内容的起始版本。 borderImage borderImage(value: BorderImageOption) 设置组件的图片边框。 卡片能力&#xff1a; 从API version 9开始…