首页 > 其他分享 >Unity引擎关于APP后台下载支持的实现问题

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

时间:2024-03-05 14:55:05浏览次数:25  
标签:BuildId APP libunity.0 ae67f16cb275ae637576fa8522cf80f73e009dd8 pc Unity so arm6

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


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

UWA社区主页:community.uwa4d.com
UWA QQ群:465082844

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加载这样的运行时接口就会报错,请问怎么解决?

 

针对以上问题,有经验的朋友欢迎转至社区交流分享:
https://answer.uwa4d.com/question/65def28c40a8d93b624afcf0


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 0x76ebcb5000
    x0  0000000000000000  x1  000000000000010e  x2  00000000000000ff  x3  0000000000ff0000
    x4  0000000000a20000  x5  0000000000000010  x6  00000076409907b8  x7  000000000f800000
    x8  00000075701da080  x9  00000076ebcb5004  x10 00000075701da08c  x11 0000000000000030
    x12 00000075701da098  x13 0000000000000030  x14 0000000000000000  x15 0000000000000000
    x16 0000000000000000  x17 00000076409905d4  x18 0000000000000000  x19 0000007640990970
    x20 00000075e01f3290  x21 00000076ebcb4ffc  x22 0000007640990601  x23 0000000038800000
    x24 00000000b8800000  x25 0000000000000030  x26 00000075701d6e08  x27 00000076ebcb4ffc
    x28 0000007640990550  x29 0000000000000000
    sp  0000007640990480  lr  0000000038000000  pc  000000766ae96870

backtrace:
      #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)

  

针对以上问题,有经验的朋友欢迎转至社区交流分享:
https://answer.uwa4d.com/question/65d5a39240a8d93b624afce7

封面图来源于网络


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

UWA官网:www.uwa4d.com
UWA社区:community.uwa4d.com
UWA学堂:edu.uwa4d.com
官方技术QQ群:465082844

标签:BuildId,APP,libunity.0,ae67f16cb275ae637576fa8522cf80f73e009dd8,pc,Unity,so,arm6
From: https://www.cnblogs.com/uwatech/p/18054042

相关文章

  • uni-app自定义图标
    1.首先去阿里巴巴矢量图标库找到自己需要的图标,比如2.鼠标移到图标上,有个购物车的小图标(添加入库),然后点击右上角的购物车小图标,弹出弹框,选择添加至项目3.去资源管理里面找到我的项目,就可以看到刚才咱们自己添加的图标4.可以在项目设置中设置自己需要的配置5.点击下载至......
  • VOL框架后台事务处理的两种方式
    VOL框架后台事务处理的两种方式方式一:框架自带增删改的事务处理publicoverrideWebResponseContentDel(object[]keys,booldelList=true){stringids=string.Join(",",keys);stringasql=$@"S......
  • Unity3D Shader常用数据类型详解
    Unity3D中Shader是用来控制3D物体的外观和表现的一种特殊编程语言。在Shader中,有一些常用的数据类型,了解这些数据类型对于编写高效的Shader非常重要。本文将详细介绍Unity3D中Shader常用的数据类型,并给出相应的技术详解和代码实现。对啦!这里有个游戏开发交流小组里面聚集了一帮热......
  • 独立开发周记 #55:2 月总结&新 App 上架
    2024,第九周,0226-0303连续两个月没有点外卖,继续保持!2月数据总结下载量(只统计极简时钟)AppStore,下降17.73%GooglePlay,下降17.70%国内安卓市场,下降0.51%收入AppStore,下降3.3%GooglePlay,下降10.24%Admob,增长14.18%国内安卓市场,增长35.19%2月份都在忙安卓端......
  • .net core 6.0后台 Vue2前台 导出Excel文件
    要导出这样一个Excel表格:1.后端API下载安装包:EPPlus2.后端代码点击查看代码///<summary>///接口///</summary>///<returns>结果</returns>[HttpGet]publicIActionResultExportTab(){varli......
  • 【Spring】Spring的事件监听ApplicationListener 、ApplicationEvent
     Spring中的事件监听机制,事件驱动开发可以用在以下这些场景:1.业务代码入口在下一级模块module,sender消息发送者在上一级模块module,不想循环依赖,就这样用2.解耦合的事件驱动模式,观察者模式等3.待补充实例代码:1.业务代码testAAA,执行同步业务privatevoidtestAAA(List<Chann......
  • AutoMapper
    AutoMapper的实现,与应用AutoMapper是一个简单的小库,旨在解决一个看似复杂的问题-摆脱将一个对象映射到另一个对象的代码,比如说当我用前台传来的DTO需要映射到实体的时候,我们总不能一个一个赋值,100个字段,200个字段呢,这里映射代码就很无聊,也很费时间,所有我们用到AutoMapper......
  • 配置AutoMapper
    配置AutoMapperAutoMapper是一个开源的.NET库,用于自动将一个对象的属性映射到另一个对象的属性。它能够简化对象之间的映射过程,减少手动编写重复的映射代码,提高开发效率。1、在需要的层引包(Api和Services层)2、program注入3、在api创建一个文件夹和一个类4、在创建的类里写......
  • 关于SAP-APP机器-R3trans -d报错-R3trans: /lib64/libstdc++.so.6: version `GLIBCXX_
    在SAP-应用-APP-机器上执行如下命令报错awpxxx03:prdadm270>R3trans-dR3trans:/lib64/libstdc++.so.6:version`GLIBCXX_3.4.26'notfound(requiredbyR3trans) 其实之前,使用过一种方法解决这个问题,可以参考笔者另一篇文章《关于Redhat-Linux中-compat-sap-c++的说......
  • 让用户如何下载完整版苹果iosAPP
    为了让用户顺利下载完整版苹果iOS应用,您需要确保应用的分发和签名流程无误,让用户能够轻松访问并获取所需的应用。在这一过程中,借助虾分发平台https://xiafenfa.com/提供的服务,您可以更加高效地完成应用的分发与签名等操作。苹果iOS应用的下载过程需要经历应用上架、签名、分发等......