当前位置: 首页 > news >正文

tp5 网站开发湖南网站开发企业

tp5 网站开发,湖南网站开发企业,网站开发总结,手机网站建设哪家优惠1. 页面异常监测 在Flutter中,通常用FlutterError监测Flutter框架抛出的异常,用runZonedGuarded监测应用中用户代码异常。 class AppGuarded {run(Widget app) {//1. 用FlutterError监测flutter框架抛出的异常FlutterError.onError (FlutterErrorDetail…
        1. 页面异常监测
         在Flutter中,通常用FlutterError监测Flutter框架抛出的异常,用runZonedGuarded监测应用中用户代码异常。
            
class AppGuarded {run(Widget app) {//1. 用FlutterError监测flutter框架抛出的异常FlutterError.onError = (FlutterErrorDetails details) async {//线上环境,将异常交给zone统一处理if (kReleaseMode) {Zone.current.handleUncaughtError(details.exception, details.stack!);} else {//开发期间,走Console抛出FlutterError.dumpErrorToConsole(details);}};//2. runZonedGuarded监测整个用应用代码异常 不使用FlutterError默认只能捕捉业务代码异常runZonedGuarded(() {runApp(app);}, (e, s) => _reportError(e, s));}///通过接口上报异常_reportError(Object error, StackTrace s) {print('kReleaseMode:$kReleaseMode');print('catch error:$error');}
}

        2. 监测页面流畅性(帧率)

        帧率监测在Flutter中通常通过在SchedulerBinding中注册fps相关回调来实现。通常需要保留最近若干个FrameTiming的总耗时,计算其平均值,以消除不必要数据波动。

void start() {SchedulerBinding.instance.addTimingsCallback(_onReportTimings);
}
// 不需监听时移除
void stop() {SchedulerBinding.instance.removeTimingsCallback(_onReportTimings);
}
void _onReportTimings(List<FrameTiming> timings) {// TODO
}

         3. 页面显示耗时(FCP)

         记录页面初始化和首次上屏时间,然后计算其时间差即可。

@overrideinitState() {super.initState();//1. 记录页面创建时间double startTime = time(0);//2.注册首帧显示时间回调WidgetsBinding.instance.addPostFrameCallback((timeStamp) {double endTime = time(0);print('WidgetsBinding Test-${(context as Element).size}');});

        4. 页面PV监测

        页面PV监测核心是检测到页面栈的变化,以便统计出页面曝光次数。如果应用采用自定义导航框架,只需在导航框架正确位置添加埋点即可。若采用的是系统默认的导航框架,则可通过继承NavigatorObserver,捕获Navigator的didPush和didPop回调。

//导航栈的变化监听
class MyNavigator extends NavigatorObserver{@overridevoid didPop(Route<dynamic> route, Route<dynamic> previousRoute) {super.didPop(route, previousRoute);var previousName = '';if (previousRoute == null) {previousName = 'null';}else {previousName = previousRoute.settings.name;}print('YM----->NavObserverDidPop--Current:' + route.settings.name + '  Previous:' + previousName);}@overridevoid didPush(Route<dynamic> route, Route<dynamic> previousRoute) {super.didPush(route, previousRoute);var previousName = '';if (previousRoute == null) {previousName = 'null';}else {previousName = previousRoute.settings.name;}print('YM-------NavObserverDidPush-Current:' + route.settings.name + '  Previous:' + previousName);}

http://www.yayakq.cn/news/159951/

相关文章:

  • 网站怎么做图片搜索网站建设课设心得体会
  • 濮阳网站建设费用大连本地网站推广
  • 嘉兴网站专业有没有专门做设计的网站
  • 互联网风格网站网站文字重叠效果
  • 洛阳孟津网站建设做网站开发需要什么技能
  • 网站代备案流程wordpress 上传swf
  • 网站服务器天付北京网站设计成功a刻
  • 五金机械东莞网站建设网站推广的方式?
  • 公司网站建设网站优化网络推广深圳做网站的公
  • 做韩服的视频网站网站开发的技术支撑 经验能力
  • 来年做那些网站能致富搭建什么网站赚钱
  • 二维码生成器网站做网站要会哪些知识
  • 安监网站如何做紧急预案备案营销网站排行榜前十名
  • 机票酒店网站建设本地的上海网站建设公
  • 设计商城网站泉州大型网站建设
  • 南京网站建设 小程序门头沟区专业网站制作网站建设
  • 网站切图大图wordpress做导航站
  • 如何免费建立公司网站百度竞价排名查询
  • 网站流量分析的指标有哪些韶关网站建设的公司
  • 济南网站建设求职简历自己怎么做链接
  • 响应式网站的服务免费网站建设讯息
  • 清河网站建设设计费用开源网站推广
  • it从零开始学大概要学多久北京专业的网络seo
  • 能先做网站再绑定域名吗wordpress怎么添加搜索框
  • 推荐聊城做网站的公司做网站什么的好
  • 网站建设如何创建框架页面西安官网seo分析
  • 子目录网站支持快钱支付的网站
  • 外贸网站建设规划网店运营工作内容
  • 科技公司网站模板太原论坛网站开发公司
  • 东莞气缸东莞网站建设网站开发的电视剧