如何处理微信小程序大量未捕获的异常

news/2024/11/13 14:57:48/文章来源:https://www.cnblogs.com/uwatech/p/18539263

1)如何处理微信小程序大量未捕获的异常
2)如何关闭代码创建的纹理的读写,或者创建不带读写的图片
3)回收带有贴图和Collider的Mesh,如何正确用对象池维护
4)Cloth组件使用在一个篮筐上,运行后篮网扭曲,是什么原因


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

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

Script

Q:微信小程序未捕获的异常,无堆栈信息,应该如何处理呢?
https://github.com/wechat-miniprogram/minigame-unity-webgl-transform/blob/main/Design/DebugAndException.md

 

 

A:Unity中所有事件的Try Catch要加全,应该就不会有未捕获异常的代码路径。Unity各事件都要Catch,Unity的代码起点都是事件,起点整个Try包裹,里面被调用的方法不加也行。

此外,C#有个设置未捕捉异常的处理毁掉回调方法,以下一个是未捕获异常统一捕获,一个是Task里面没捕获的:

AppDomain.CurrentDomain.UnhandledException += (_, eargs)
TaskScheduler.UnobservedTaskException += (_, eargs)

 

感谢jump晃悠@UWA问答社区提供了回答


Asset

Q:Unity中自己new出来的Texture2D对象,在内存中看它的大小比实际要多一倍。能理解它需要读写,所以多一倍。游戏中修改完一次后,该图片就会被固定下来不会再被修改。有没有方法可以关闭读写,或者创建不带读写的图片?

A:在代码中创建Texture2D对象时使用如图API:

 

感谢清泉石上流@UWA问答社区提供了回答


Asset

Q:回收带有贴图和Collider的Mesh,怎么正确放到对象池,我看还有说需要把Collider销毁的,需不需要单独回收贴图和Mesh网格呢?需要把贴图单独放到一个池子里么?

A1:对象池,就是你把这个对象的GameObject禁用,然后弄到一个数组里面。下次需要的时候,启用;销毁了就不叫对象池了。

若GameObject禁用,物理也自然无碰撞了;而你的整个对象都已经放进去了,贴图就也被对象池缓存着了。

感谢jump晃悠@UWA问答社区提供了回答

 

A2:对象池本身是把GO和它引用的一系列资源缓存在场景中;而类似于Collider、Animator这种可能对运行时有开销的组件会随着入池的Deactive操作失活,不会造成开销。

所以构造对象池主要考虑的一般是入池缓存造成的内存开销和不用缓存池维护造成的反复实例化销毁耗时开销的权衡。

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


Physics

Q:Cloth组件使用在一个篮筐上,运行时变成下图这样了,是什么原因?

 

 

A:检查一下层级碰撞,只保留和篮球所在层的碰撞,尤其避免Cloth内部碰撞。

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

封面图来源于网络


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

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

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

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

相关文章

2024年最新21款精品项目管理软件推荐:提高工作效率必备

在项目管理中,选择合适的软件工具能显著提高工作效率,优化团队协作,增强项目透明度和跟踪能力。以下是2024年最新、最受欢迎的20款精品项目管理软件推荐,它们涵盖了不同团队规模、行业需求以及功能特点,帮助用户更好地管理任务、时间、资源和预算。 1. 禅道 (ZenTao)功能:…

代码随想录之滑动窗口、Java日期api、集合(11.4-11.11)

代码 1、长度最小的子数组⭐ 使用滑动窗口的思想,外层循环控制结束位置j,内层循环控制起始位置i,看似是双层循环,但时间复杂度是o(2n)。 2、水果成篮 自己想法:使用backet1和backet2表示篮子1和篮子2;使用backet1Account和backet2Account分别表示两个篮子里水果的数量,内…

90%的项目经理都在使用的15款项目管理工具清单

以下是 90% 项目经理常用的项目管理工具清单。它们帮助项目经理规划、组织、执行和监控项目,确保项目按时、按预算完成,并满足项目目标。 1. 禅道(Zentao)用途:项目管理、需求管理、任务分配、缺陷跟踪。 特点:完全开源,适合中小型企业。 提供从需求、开发、测试到交付的…

2024年项目管理趋势预测:大厂都在关注什么?

在2024年,项目管理的趋势继续受到技术、远程工作和敏捷方法等多种因素的影响。大厂和各行业领先企业都在关注以下几个关键趋势: 1. AI与自动化的深度集成 人工智能(AI)和自动化技术的引入,正在极大改变项目管理的方式。大厂越来越多地依赖AI来预测项目风险、自动化重复性任…

2024年产品经理必备:10款最佳项目管理软件推荐

在2024年,产品经理的工作越来越依赖于高效的项目管理工具。项目管理软件不仅能帮助团队协作、跟踪进度,还能帮助规划任务、管理预算、识别风险和收集反馈等。随着技术的发展,市场上出现了各种类型的项目管理软件,各具特色,能够满足不同产品经理的需求。以下是2024年产品经…

禅道、Jira与Ones对比:2024年项目管理平台谁更适合你的团队?

在2024年,选择一个合适的项目管理平台对于团队的高效协作至关重要。禅道、Jira 和 Ones 都是目前市场上较为流行的项目管理工具,它们各有优势和特点,适合不同需求的团队。以下是对这三款工具的对比分析,帮助你选择最适合你团队的项目管理平台。 1. 禅道 禅道是一个国产的开…

2024年最优秀的10款项目管理工具,项目经理必看!

在2024年,随着企业的数字化转型,项目管理工具变得越来越多样化,涵盖了从敏捷开发、团队协作到复杂企业项目管理等各类需求。以下是10款值得项目经理关注的优秀项目管理工具,它们涵盖了不同规模和需求的团队,帮助提升团队效率、项目透明度及交付质量。1. Jira Jira 是一款强…

KubeSphere 社区双周报| 2024.10.25-11.07

KubeSphere 社区双周报主要整理展示新增的贡献者名单和证书、新增的讲师证书以及两周内提交过 commit 的贡献者,并对近期重要的 PR 进行解析,同时还包含了线上/线下活动和布道推广等一系列社区动态。 本次双周报涵盖时间为:2024.10.25-11.07。 贡献者名单新晋 KubeSphere co…

实验三 类与对象

#pragma once#include <iostream> #include <string>using std::string; using std::cout;// 按钮类 class Button { public:Button(const string &text);string get_label() const;void click();private:string label; };Button::Button(const string &te…

基于MCMC的贝叶斯营销组合模型评估方法论: 系统化诊断、校准及选择的理论框架

贝叶斯营销组合建模(Bayesian Marketing Mix Modeling,MMM)作为一种先进的营销效果评估方法,其核心在于通过贝叶斯框架对营销投资的影响进行量化分析。在实践中为确保模型的可靠性和有效性,需要系统地进行模型诊断、分析和比较。本文将重点探讨这些关键环节,包括:通过后…

表中明明没有这条数据,竟然还能查出来?

大家好,我是苏三,又跟大家见面了。 前言 当你看到这个标题时,第一反应可能是想:标题搞错了吧? 答:没搞错,各位看官,听我慢慢道来。 我之前写过一篇文章《明明加了唯一索引,为什么还是产生重复数据?》,发表之后,被很多博主转载过,引起了全网很多读者的共鸣。 我最近…

vscode 更新服务端连接设置

参考 vscode ssh连接远程服务器一直卡在正在打开远程_vscode 正在打开远程-CSDN博客mv ~/.vscode-server ~/.vscode-server-bakrm -rf ~/.vscode-server 连接成功后,删除旧的 rm -rf ~/.vscode-server-bak