稳定性始终会是一家成功公司的重要指标,在移动端亦是如此。跟大部分创业公司一样,有赞在创业初期选择以核心业务为主, 在一些基础设施的搭建上主要以使用三方平台为主(腾讯bugly)。随着业务的发展和bugly的长期不维护,慢慢出现一些三方平台的弊端。例如:
Crash率是衡量一个App好坏的重要指标之一,如果你忽略了它的存在,它就会愈演愈烈,最后造成大量用户的流失,进而给公司带来无法估量的损失。本文讲述美团外卖Android客户端团队在将App的Crash率从千分之三做到万分之二过程中所做的大量实践工作,抛砖引玉,希望能够为其他团队提供一些经验和启发。
Crash率是衡量一个App好坏的重要指标之一。如果你忽略了它的存在,它就会得寸进尺,愈演愈烈,最后造成大量用户的流失,进而给公司带来无法估量的损失。本文讲述美团外卖Android客户端团队在将App的Crash率从千分之三做到万分之二过程中所做的大量实践工作,抛砖引玉,希望能够为其他团队提供一些经验和启发。
辛贵,携程无线研发总监。主要负责App基础框架研发相关工作,关注App开发框架、性能、质量、效率和新技术。
作者卢子填, 腾讯移动互联网 高级开发工程师 商业转载请联系腾讯WeTest获得授权,非商业转载请注明出处。 WeTest 导读 看似系统Bug的Crash 99%都不是系统问题!本文将与你一起探索Crash分析的科学方法。 在移动互联网闯荡多年的iOS手机管家,经过不断迭代创新,已经涵盖了隐私(加密相册)、安全(骚扰拦截、短信过滤)、工具(网络检测、照片清理、极简提醒等)等等各个方面,为千万用户提供安全专业的服务。但与此同时,工程代码也越来越庞大(近30万行),一丁点的问题都会影响大量的用户,所以手管一
IMWebConf 2020 直播期间,腾讯课堂上课页出现 flv 流直播场景页面崩溃现象:此稳定性问题颇为严重,在此记录下解决过程以示警戒。 现象 IMWebConf 2020 直播期间,腾讯课堂上课页出现 flv 流直播场景页面崩溃现象: 此稳定性问题颇为严重,在此记录下解决过程以示警戒。 定位过程 定性为内存泄露 通过搜索了解到页面崩溃通常是因为内存泄露导致(非网络等其他问题情况下)。 稳定重现 音视频分队同学首先是去做实验重现这个问题,针对直播的代码做测试页面: 空白测试页面:XHR 请求 fl
这个问题是在某个群里面,看见有人问的,已经2020年了,到底Double write 能不能关,这是一个好问题。因为有些数据库压根没有 Double write 也就没有性能上的损耗了。那为什么MYSQL 要有DOUBLE WRITE ,并且可以关吗?
导语 WKWebView 是苹果在 WWDC 2014 上推出的新一代 webView 组件,用以替代 UIKit 中笨重难用、内存泄漏的 UIWebView。WKWebView 拥有60fps滚动刷新率、和 safari 相同的 JavaScript 引擎等优势。 简单的适配方法本文不再赘述,主要来说说适配 WKWebView 过程中填过的坑以及善待解决的技术难题。 1、WKWebView 白屏问题 WKWebView 自诩拥有更快的加载速度,更低的内存占用,但实际上 WKWebView 是一个多进程组件
我在之前的一篇文章 《使用 Visual Studio App Center 持续监视应用使用情况和问题》 中介绍了 App Center 的基本功能及使用入门,其中 诊断 可以自动手机用户的崩溃或异常,并在 App Center 的网页显示详细的错误信息。
一朋友刚面了腾讯音乐(TME)前端开发岗位(两年经验),本瓜撰文记之。以期同各面试人分享交流~
在一个迭代开发完毕之后,ci构建好测试包,交给测试人员进行测试,随后在测试的过程中,出现了一些问题,有些很容易追踪,比如一些逻辑bug,需求没有实现,但还是有一些需要花费一些经历去排查,比如:
有赞在基础保障平台的实践中完成了 Crash平台 的建设,但是iOS的崩溃日志未经符号化,排查问题比较困难。为了降低iOS App的crash率,快速排查线上crash,疑难crash的跟踪处理,符号化崩溃日志显得尤为重要!
来自:开发者技术前线 作者:GC 1 背景介绍 最近,笔者开发了一款App,深刻体会到打造App的极致体验的重要性,这对App的启动速度、页面秒开、稳定性都提出了严峻的挑战。那么,如何去验证App
音视频产品、即时通信都有默认把sdk运行的log输出到本地文件,腾讯云技术支持在帮忙定位问题时,需要这些运行log分析问题。默认输出文件的路径如下表格。可修改输出文件路径、可过滤日志等级、可关闭日志输出。
最近看公司Flutter项目的时候,发现想要分析数据非常的困难,不是数据缺失就是数据异常,作为一个成熟的企业来说这是非常危险的,缺少了数据就像船只在海上航行的时候没有了方向,将会变得无所适从,所以这周花了点时间去优化。
一个App安装在一台设备上,总是闪退、屏幕热、机身热、设备卡死甚至崩溃等现象,直接影响用户使用功能或者用户卸载App,最终的结果是流失用户群里。
最近的一个手机 QQ 版本发出去后收到比较多关于 CoreMotion 的 crash 上报,案发现场如下: 但是看看这个堆栈发现它完全不按照套路出牌啊! 乍一看是挂在 CoreMotion 里面的CLStartStopAdvertisingBeacon函数,看似是 iBeacon 相关的问题,但实际上是具体函数的符号解不出来,注意 CLStartStopAdvertisingBeacon + 175940 这个巨大的偏移量,一般的函数不可能这么大,所以这个地址对应的肯定是另外的一个函数! 抛开错误
全民K歌4.6版本发布后,出现了一个与RecyclerView相关的Bug,作此记录。
赵辛贵,携程无线开发高级技术经理,目前主要负责React Native框架在携程内部的使用推广和性能优化 React Native(下文简称RN)开源已经一年多时间,国内各大互联网公司都在使用,携程
React Native(下文简称 RN)开源已经一年多时间,国内各大互联网公司都在使用,携程也在今年 5 月份投入资源开始引入,并推广给多个业务团队使用,本文将会分享我们遇到的一些问题以及我们的优化方案。 一、背景和使用情况介绍 为什么会引入 React Native? 1. AppSize 占用 携程旅行 App 从 11 年开始开发,至今已有 5 年多时间,随着各项业务功能的全面移动化,以及公司“Mobile first”策略的指引下,App 功能越来越多,越来越臃肿,Size 达到将近 100MB。
今天给大家介绍一个我遇到的小坑。过程大概是这样的,一个复用页面通过不同的入口进入,等返回时,有的正常,有的却出现了 Crash,log 信息如下。
“8小时内拼工作,8小时外拼成长”这是大家共同的理想。除了每天忙于工作外,我们都希望能更多地区吸收领域内的新知识与新技能,从而走向人生巅峰。 Dev Club 是一个交流移动开发技术,结交朋友,扩展人脉的社群,成员都是经过审核的移动开发工程师。每周都会举行嘉宾分享,话题讨论等活动。 上一期我们邀请了腾讯SNG工程师“王少鸣”分享了《React Native项目实战总结》。 2016-07-14,下周四,我们将邀请腾讯WXG iOS开发工程师“姚海波”为大家分享《微信读书iOS性能优化》。 下面是上一期
导语 6月9日-10日,“2017年全球移动技术大会(GMTC)”在北京举行。会议为期两天,面向移动开发、前端、AI技术人员,聚焦前沿技术及实践经验,打造技术人员的学习和交流平台。TEG数据平台部产品中心总监(P4专家)Torry作为专题采访嘉宾,前端开发负责人Johnny和移动开发高级工程师Foreach作为演讲嘉宾,围绕移动分析精细化运营和Crash系统实时化演进与实践进行了精彩分享。 关于GMTC全球移动技术大会 2016年InfoQ在北京主办了第一届GMTC全球移动技术大会,大会邀请了来自Faceb
线上报了较多Fragment资源id找不到的Crash。找到对应资源int id fl_about_container 0x7f090283
前言 在 Android开发中,性能优化策略十分重要 因为其决定了应用程序的开发质量:可用性、流畅性、稳定性等,是提高用户留存率的关键 本文全面讲解性能优化中的所有知识,献上一份 Android性能优化的详细攻略, 含:优化方向、原因 & 具体优化方案,希望你们会喜欢 目录 1. 性能优化的目的 性能优化的目的是为了让应用程序App 更快、更稳定 & 更省。具体介绍如下: 更快:应用程序 运行得更加流畅、不卡顿,能快速响应用户操作 更稳定:应用程序 能 稳定运行 & 解决用户需求,在用户使用过程中不
目录介绍 01.该库具有的功能 02.该库优势分析 03.该库如何使用 04.降低非必要crash 05.异常恢复原理 06.后续的需求说明 07.异常栈轨迹原理 08.部分问题反馈 09.其他内容说明 01.该库具有的功能 1.1 功能说明 异常崩溃后思考的一些问题 1.是否需要恢复activity栈,以及所在崩溃页面数据 2.crash信息保存和异常捕获,是否和百度bug崩溃统计sdk等兼容。是否方便接入 3.是否要回到栈顶部的那个activity(保存栈信息) 4.崩溃后需要收集哪些信息。手机信息,a
前几篇对MySQL的知识介绍,让我们知道MySQL基本单位是数据页,默认情况下每个数据页的大小是16kb。数据页被读取到内存(Buffer Pool)中后被称为缓存页,,当对Buffer Pool中的数据页做了更新后,此时的数据页叫做:脏页,脏页最终是要刷入磁盘的,那么问题来了。
2017年4月,企鹅智酷公布了最新的《2017微信用户&生态研究报告》。报告数据显示,截止到2016年12月微信全球共计8.89亿月活用户,新兴的公众号平台拥有1000万个。微信这一年来直接带动了信息消费1742.5亿元,相当于2016年中国信息消费总规模的4.54%。
Visual Studio App Center 是几个常见移动开发和云集成服务(如持续集成、持续交付和自动 UI 测试等服务)的集合。 这些 App Center 服务可以针对 iOS、Android、WPF/Winforms、通用 Windows 平台 (UWP) 和 tvOS 应用运行。
线上突发一个Top1的crash告警,场景是UICollectionView在删除的时候触发。
InnoDB 存储引擎是以页为单位来管理存储空间的, 我们的增删改查操作本质上都是在访问页面, 如读取一条数据, 会把这个数据所在的页加载到内存中, 而不仅仅是这条数据本身, 这个页的默认大小是 16KB.
组内对于 React Native 的实践已经快一年了,我们组主要负责的是美团外卖 M 端的前端业务,涵盖了美团外卖的 CRM、供应链、合同和结算等系统,我们的用户主要是美团的 BD,也就是广大的地推团队,他们是贵司的制胜法宝,我们是他们的贴心小棉袄。
1、WKWebView 自诩拥有更快的加载速度,更低的内存占用,但实际上 WKWebView 是一个多进程组件,Network Loading 以及 UI Rendering 在其它进程中执行。初次适配 WKWebView 的时候,我们也惊讶于打开 WKWebView 后,App 进程内存消耗反而大幅下降,但是仔细观察会发现,Other Process 的内存占用会增加。在一些用 webGL 渲染的复杂页面,使用 WKWebView 总体的内存占用(App Process Memory + Other Pr
王竞原,负责网游刀锋铁骑项目,高级开发工程师,使用C++已有10年,非常喜欢C++,特别是C++11。希望能与广大的C++爱好者多交流。 一、什么是Android的C/C++ NativeCrash Android上的Crash可以分两种: 1、Java Crash java代码导致jvm退出,弹出“程序已经崩溃”的对话框,最终用户点击关闭后进程退出。 Logcat 会在“AndroidRuntime”tag下输出Java的调用栈。 2、Native Crash 通过NDK,使用C/C++开发,导致
unknown error: session deleted because of page crash 译: 未知错误:由于页面崩溃而删除会话。 unknown error: cannot determine loading status 译: 未知错误:无法确定加载状态。 该问题是由于 /dev/shm 分区默认只有 64M 比较小,不够用导致的。
Mac已然是一个不可或缺的平台,但是相对其它平台来说,针对Mac app的各项专项测试却没有多少资料可供参考,本篇文章介绍了腾讯视频Mac端的各项专项测试总结,整理了过去一年腾讯视频Mac测试团队的探索和研究。
日常开发过程中,项目常常都会使用Redis来做缓存或者Session服务器,为了更直观方便,开发者常常会使用一些可视化工具,如 Redis Desktop Manager、Redis Clent等,但界面UI做得不尽人意,作为当今时代,对软件的UI还是有所期待的,今天给大家分享一款,高颜值、功能强大的Redis客户端工具
PostgreSQL在写入频繁的场景中,可能会产生大量的WAL日志,而且WAL日志量远远超过实际更新的数据量。我们可以把这种现象起个名字,叫做“WAL写放大”,造成WAL写放大的主要原因有2点。
简单来讲,/dev/mem是系统物理内存的映像文件,这里的 “物理内存” 需要进一步解释。
存在 Node.js C++ add-on 相关的代码时,这一层导致应用程序奔溃的可能行极大,常见原因有:
最近在分析某app的网络通信逻辑,其中的加密解密都在so中完成,且有签名校验,抠取so到写的demo中运行会crash。
作者:鲁可——腾讯SNG专项测试组 测试工程师 背景 承上《经典随机Crash之一:线程安全》 问题的模型 好几次灰度top1、top2 Crash发生场景:在很平常、频繁的使用页面,打开一个界面,马上返回,piaji,挂了,估计用户心中有千万只草泥马在奔腾,手机QQ究竟怎么呢? 找到开发童鞋,还是熟悉的对话: 请教:这个Crash能复现吗?开发答:场景就在这,就是复现不了啊 这里有个空指针,那我就加个判空 我只好去看下开发童鞋的代码,发现都有一个共性,跟handler postDelayed有关系,这里抽
作者:louiszhai,腾讯增值服务项目管理员工 背景 为了满足日益复杂的小程序活动需求,腾讯增值服务项目组开发了一款Ulink活动小程序,该小程序以游戏社交圈为依托,提供游戏玩家基本的社交功能,如发帖、评论、点赞、分享等。 为了支持这些功能,进行了一系列的性能优化改进。Ulink活动小程序共有5个tab,分别提供关注人的feeds信息、所有用户的精品分享,图文发布入口、消息及个人页,如下所示。 开发过程中折腾了各种各样的挑战和难题。其中以性能问题最为棘手,主要有体现在以下几个方面: 小程序首次访问
众所周知,软件项目的交付是一个复杂的过程,任何原因都有可能导致交付的失败。很多时候经常遇到的一个现象是,应用在开发测试时没有任何异常,但一旦上线就问题频出。出现这些异常,可能是因为不充分的机型适配或者用户糟糕的网络状况造成的,也可能是Flutter框架自身缺陷造成的,甚至是操作系统底层的问题。
开发型团队App内部测试以及对应的crash报告类的服务相对很少,而且并不成熟。通过了解蒲公英-作为技术型研发团队算是在这一领域的后起之秀,而随着app市场的不断膨胀,相应的类似服务也逐渐增多,比较常用的有:
文章主要讲述了移动应用崩溃问题的分析、定位与解决过程。首先分析了移动应用崩溃的原因和类型,然后介绍了基于腾讯移动分析(MTA)的Crash分析方案。MTA通过采集和分析用户行为数据,对应用进行全方位的健康度评估,从而帮助开发者快速定位和解决Crash问题。此外,文章还分享了在处理海量数据时的一些优化措施和技术挑战。
快速的业务迭代要求快速的App发版节奏,随之而来的是质量保障压力的增大。而增大自动化程度,提升QA效率就是一种非常重要的手段,以适应快速发版的要求。
一、Hugo插件 —— 打印方法运行时间 首先申明下,此Hugo非 彼Hugo(Hugo是由Go语言实现的静态网站生成器)。 Hugo插件作用 : 能够计算并打印一个方法的输入参数和函数的运行时间 H
领取专属 10元无门槛券
手把手带您无忧上云