临沂网站制作页面,现在的网站建设用什么语言,微信公众号推广平台,网站布局设计排版简介#xff1a; 导致 App 性能低下的原因有很多#xff0c;除去设备硬件和软件的外部因素#xff0c;其中大部分是开发者错误地使用线、系统函数、编程范式、数据结构等导致的。即便是较有经验的程序员#xff0c;也很难在开发时就能避免所有导致性能低下的“坑”#xf…简介 导致 App 性能低下的原因有很多除去设备硬件和软件的外部因素其中大部分是开发者错误地使用线、系统函数、编程范式、数据结构等导致的。即便是较有经验的程序员也很难在开发时就能避免所有导致性能低下的“坑”因此解决性能问题的关键是在于能不能尽早地发现和定位和捕获这些错误。
项目遇到的崩溃/卡顿/ANR/OOM/启动慢
1.1项目背景
1.2所遇到的挑战
1.3解决问题的步骤
1.4项目总结
2. 产品体验内容集成/接入/使用
2.1集成/接入/ 友盟 应用性能监控平台 U-APM
2.2集成/接入/使用体验总结与分享
2.3对产品提出的建议/意见
1.项目遇到的奔溃/卡顿/ANR/OOM/启动慢
1.1项目背景
项目背景主要是公司开发项目老板提起需求产品经理规划需求以及文档开发人员根据需求来规划开发项目开发人员(两个前端开发三个Java开发两个测试一个产品一个ui)项目组织架构
(小程序/H5):uniapp架构U-APM监听统计canvas绘制海报B端管理系统: VueAxiosElementuiueditor135编辑器
项目名叫值得买商城主要是一个一体化的的B2C平台包含内部商城管理系统客服/运营可以在系统发布活动以及商品管理商品、订单、会员并且处理用户的询问以及投诉C端小程序APP端H5、APP端直接给用户提供一个便捷简介实惠多优惠多的一个线上购物平台通过活动优惠以及地推方式分享产生裂变通过友盟统计抓取不同用户的喜好定时更新推流以及发放优惠项目类似京东商城、天猫商城可以在商城浏览商品、下订单会员用户以及星级用户可以参加各种活动。
电商模式
1.1:B2B商家到商家。比如阿里巴巴慧聪网、铭万网。
1.2:B2C商家到用户。比如京东。
1.3:C2C用户到用户。比如淘宝。
1.4:B2B2C商家到商家到用户。比如天猫。
1.5:O2O线上到线下。比如百度外卖、美团、饿了么。
1.2所遇到的挑战/问题
1.项目上线例如代码异常或者控制台异常监听不到不太好排查
2.服务端队列接口其中一个挂掉项目直接奔溃
3.类似登录按钮点击请求频繁点击请求多次
4.页面组件不统一导致需求更改多处地方变动
5.切换环境或者项目距配置导致异常axios拦截失败
1.3解决问题的步骤
1. 最初项目开发中引入的fundebug第三方插件监听代码异常但是部分拦截异常捕获不到{H5以及小程序使用的是fundebugAPP使用友盟的U-APM去接入捕获异常} 首先查看第三方捕获的异常区偏差问题,通过开发者工具调试debugger排查异常出现的位置查看是代码逻辑问题还是其他异常依次去排查解决
1.4项目总结
遇到问题不要心急也不需要慌既然问题出现了按照问题出现的时间、方式、情况进行排查找到问题之后去一步步尝试解决就好首先要把思路屡清楚实战中总是会遇到怪怪的问题用心去做就OK了部分想系统的表格、表单,网站中的列表标题栏等等模块项目中尽量去封装集成为组件库统一管理减少工作量以及代码冗余。
2.产品体验内容集成/接入/使用
这里来说一下友盟的U-APM集成接入以及使用方式在这里首先先说明一下我个人在开发中为什么会选择友盟的这款产品api在项目中使用在解决问题的步骤中我提到过项目中h5跟小程序使用的一个第三方fundebug来抓取以及捕获异常APP中开发使用U-APM捕获抓取错误异常并监听{ fundebug捕获异常以及监听方面没有U-APM全面只能监听到普通异常U-APM可以监听到奔溃分析自定义错误异常启动分析卡顿分析以受影响人数等等}唯一觉得美中不足的就是U-APM只支持安卓跟IOS
2.1产品体验内容集成/接入/使用
2.1.1首先进入网址登录注册应用获取下载SDK
U-APM网站地址应用性能监控平台 U-APM 2.1.2 获取到自己的应用key以及基础sdk
注意
· 应用的安卓版和iOS版不能使用相同的AppKey需要分开注册。
· 【友盟】的应用名与实际应用名和包名无关若注册应用时提示应用名称已存在建议命名为应用名平台iOS/Android)。
maven自动集成推荐
通过在Android Studio工程build.gradle配置脚本中添加maven线上依赖导入最新版本组件化统计SDK。
maven依赖配置
在工程build.gradle配置脚本中buildscript和allprojects段中添加【友盟】SDK新maven仓库地址。
maven { url https://dl.bintray.com/umsdk/release }
buildscript { repositories { google() jcenter() maven { url https://dl.bintray.com/umsdk/release } } dependencies { classpath com.android.tools.build:gradle:3.4.0 // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files } } allprojects { repositories { google() jcenter() maven { url https://dl.bintray.com/umsdk/release } } }
在工程App 对应build.gradle配置脚本dependencies段中添加统计SDK库和其它库依赖
// 下面各SDK根据宿主App是否使用相关业务按需引入。
// OAID目前为目前国内市场主流的Android Q设备标识可根据需要选择。
// 友盟统计SDK implementation com.umeng.umsdk:common:9.3.3
// 版本号(必选) implementation com.umeng.umsdk:asms:1.1.4
// asms包依赖(必选) implementation com.umeng.umsdk:game:9.2.0G
//游戏统计SDK依赖(可选) implementation com.umeng.umsdk:apm:1.1.0
// U-APM产品包依赖(必选) 崩溃ANR类型
如果您使用的是9.0.4以上版本SDK同时集成使用了umeng-apm-vx.x.x.aar插件则默认开启新版本的稳定性功能
-keep class com.uc.** {*;}
如果开发者自己捕获了错误需要手动上传到【友盟】服务器可以调用下面两种方法
param {e}错误异常
param{type}自定义错误类型
public static void UMCrash.generateCustomLog(Throwable e, String type)
方法一示例
try { // 抛出异常的代码 }
catch (Exception e) {
UMCrash.generateCustomLog(e, UmengException); }
方法二
param {e}错误异常
param{type}自定义错误类型
public static void UMCrash.generateCustomLog(String e, String type)
捕获成功查看友盟U-APM可视化工具 详细文档查看官放文档比较清晰明了
开发者中心
2.2集成/接入/使用体验总结与分享
首先来说一下市面上目前导致 App 性能低下的原因有很多除去设备硬件和软件的外部因素其中大部分是开发者错误地使用线、系统函数、编程范式、数据结构等导致的。即便是较有经验的程序员也很难在开发时就能避免所有导致性能低下的“坑”因此解决性能问题的关键是在于能不能尽早地发现和定位和捕获这些错误。随着App业务的与日俱增各个系统也越来越复杂服务间的调用服务的依赖以及分析服务的性能问题也越棘手因此引入性能监控平台尤为重要。能不能快速、准确、丰富的定位错误类型是衡量性能监控产品的头要因素。以友盟的U-APM应用性能监控平台为例无论是 Java、Native崩溃还是 ANR、系统各种强杀等问题异常问题U-APM都可以捕获到并会生成内容完整、丰富、全面的日志。作为App开发者相信大家一定遇到过类似的尴尬问题故障永远都是你的客户告诉你的而在什么时候发生的你也无法确定只能通过客户的反馈倒推时间节点靠后从错误日志中得到相对完整的日志信息友盟应用性能监控平台U-APM为例触达渠道就有邮件、钉钉、企业微信、飞书等等。其中后三者可以通过webhook的方式直接将监控告警发送到群组里让组内的研发同学头先时间获取到有效信息及时更改异常修复。个人觉得还是蛮好的在个人开发中还是企业应用开发中目前都够用了。
2.3对产品提出的建议/意见
作为开发者对U-APM的建议
1.登录一个账号就可以有一个选择平台来切换ios/安卓来直接看到对应数据的统计现在需要来回折腾有点麻烦
2.目前监测统计错误异常只支持IOS跟安卓APP小程序H5以及公众号这些目前不支持
3.如果从监测的异常有录屏功能就更好了这样会直接查看录屏回放效果杠杠的~
原文链接 本文为阿里云原创内容未经允许不得转载。