首页
学习
活动
专区
工具
TVP
发布

腾讯Bugly的专栏

专栏作者
268
文章
593607
阅读量
262
订阅数
Android性能优化典范之多线程篇
本文涉及的内容有:多线程并发的性能问题,介绍了 AsyncTask,HandlerThread,IntentService 与 ThreadPool 分别适合的使用场景以及各自的使用注意事项,这是一篇了解 Android 多线程编程不可多得的基础文章,清楚的了解这些 Android 系统提供的多线程基础组件之间的差异以及优缺点,才能够在项目实战中做出最恰当的选择。 1. Threading Performance 在程序开发的实践当中,为了让程序表现得更加流畅,我们肯定会需要使用到多线程来提升程序的并发执行
腾讯Bugly
2023-04-23
9831
微信 Android 热补丁实践演进之路
继插件化后,热补丁技术在2015年开始爆发,目前已经是非常热门的 Android 开发技术。其中比较著名的有淘宝的 Dexposed、支付宝的 AndFix 以及 QZone 的超级热补丁方案。微信对热补丁技术的研究并不算早,大约开始于2015年6月。经过研究与尝试现有的各个方案,我们发现它们都有着自身的一些局限性。微信最终采用不同于它们的技术方案,走出了自己的实践演进之路。 另外一方面,技术应当只是热补丁方案中的一环。随着对热补丁的多次尝试与应用,微信建立起自身的流程规范,同时也不断的尝试拓展它的应用场景
腾讯Bugly
2023-04-17
2660
Android 内存暴减的秘密?!
在 我这样减少了26.5M Java内存!中内存优化一期已经告一段落,主要做的事情是,造了几个分析内存问题的轮子,定位进程各种类型内存占用情况,分析了线程创建OOM的原因。当然最重要的是,优化了一波进程静息态的内存占用(减少26M+)。而二期则是在一期的基础之上,推进已发现问题的SDK解决问题,最终要的是要优化进程的动态Java内存占用! 通常来说不管是做什么性能优化,逃不出性能优化3步曲: 1. 找到性能瓶颈 2. 分析优化方案 3. 执行优化 上述三步看似第三步最能决定优化结果,而事实上,从笔者的几次
腾讯Bugly
2023-04-02
7040
5分钟教你打造一个秒开的 Android App
背景 近日在开发过程中,发现每次点击app从桌面启动都有一个在桌面明显的等待时间,机型越低端的越明显,冷启动优化看来已经势在必行,所以怒而一顿研究再解决之。话不多说先上优化前后效果图: 买家秀(gif): 淘宝秀(gif): Android App启动流程: 俗话说要想优化好,流程不可少!关于android app启动的流程图如下: 总结一下一个完成的冷启动app过程应该是经过: Zygote Fork Proccess -> Application:attachBaseContext() -> Ap
腾讯Bugly
2023-04-02
5490
Android O 新特性和行为变更总结
1. Android O 新特性 前段时间解决了几个 QQ 音乐多窗口屏幕显示的 bug,虽然这个问题最终不是 Android O 版本的问题,多窗口是 Android 7.1 之后引入的,但是趁此机会了解一下 Android O 版本的新特性也不错。 在 Google IO 大会上介绍到的 Android O 新版本更新和优化主要集中在两个方面:Fluid Experiences 和 Vitals,Fluid Experience 主要包含了四个显著特性:Notification Dots, Pictur
腾讯Bugly
2023-04-02
1.2K0
Android 新一代多渠道打包神器
关于作者: 李涛,腾讯Android工程师,14年加入腾讯SNG增值产品部,期间主要负责手Q动漫、企鹅电竞等项目的功能开发和技术优化。业务时间喜欢折腾新技术,写一些技术文章,个人技术博客:www.ltlovezh.com 。 ApkChannelPackage是一种快速多渠道打包工具,同时支持基于V1和V2签名进行渠道打包。插件本身会自动检测Apk使用的签名方法,并选择合适的多渠道打包方式,对使用者来说完全透明。 Github地址: https://github.com/ltlovezh/ApkChanne
腾讯Bugly
2023-04-02
1K0
经典随机Crash之二:Android消息机制
作者:鲁可——腾讯SNG专项测试组 测试工程师 背景 承上《经典随机Crash之一:线程安全》 问题的模型 好几次灰度top1、top2 Crash发生场景:在很平常、频繁的使用页面,打开一个界面,马上返回,piaji,挂了,估计用户心中有千万只草泥马在奔腾,手机QQ究竟怎么呢? 找到开发童鞋,还是熟悉的对话: 请教:这个Crash能复现吗?开发答:场景就在这,就是复现不了啊 这里有个空指针,那我就加个判空 我只好去看下开发童鞋的代码,发现都有一个共性,跟handler postDelayed有关系,这里抽
腾讯Bugly
2023-04-02
3120
Android ListView 与 RecyclerView 对比浅析--缓存机制
一,背景 RecyclerView是谷歌官方出的一个用于大量数据展示的新控件,可以用来代替传统的ListView,更加强大和灵活。 最近,自己负责的业务,也遇到这样的一个问题,关于是否要将ListView替换为RecyclerView? 秉承着实事求是的作风,弄清楚RecyclerView是否有足够的吸引力替换掉ListView,我从性能这一角度出发,研究RecyclerView和ListView二者的缓存机制,并得到了一些较有益的”结论”,待我慢慢道来。 同时也希望能通过本文,让大家快速了解Recycle
腾讯Bugly
2023-04-02
1.1K0
Android性能优化典范 - 第6季
导语 这里是Android性能优化典范第6季的课程学习笔记,从被@知会到有连载更新,这篇学习笔记就一直被惦记着,现在学习记录分享一下,请多多指教包涵!这次一共才6个小段落,涉及的内容主要有:程序启动时间性能优化的三个方面:优化activity的创建过程,优化application对象的启动过程,正确使用启动显屏达到优化程序启动性能的目的。另外还介绍了减少安装包大小的checklist以及如何使用VectorDrawable来减少安装包的大小。 1. App Launch time 101 提高程序的启动速度
腾讯Bugly
2023-04-02
6260
Android动态布局入门及NinePatchChunk解密
摆脱XML布局文件 相信每一个Android开发者,在接触“Hello World”的时候,就形成了一个观念:Android UI布局是通过layout目录下的XML文件定义的。使用XML定义布局的方式,有着结构清晰、可预览等优势,因而极为通用。可是,偏偏在某些场景下,布局是需要根据运行时的状态变化的,无法使用XML预先定义。这时候,我们只能通过JavaCode控制,在程序运行时,动态的实现对应的布局。 所以,作为入门,将从给三个方面给大家介绍一些动态布局相关的基础知识和经验。 动态添加view到界面上,
腾讯Bugly
2023-04-02
2900
【版本升级】PerfDog新增多维度测试报告对比功能、iOS电量测试功能升级
伴随春日暖阳,疫情终将过去,PerfDog在新的一年为广大用户带来重磅更新:新增多维度测试报告对比功能,iOS电量测试功能全新升级。诚邀大家体验。 版本更新内容 测试报告对比功能 【重磅发布】多维度对比:支持详情、机型、版本、比例、区间、趋势、拖拉缩放等 iOS电量测试功能升级 【重磅发布】全新iOS电量功耗统计方式(目前最精准统计方式),与Battery life结果一致。 【优化】支持iOS所有手机。 其他优化更新 【新增】增加测试过程异常退出,数据重新加载功能 【修复】解决Mac机器测试崩
腾讯Bugly
2020-03-27
6890
动态下发 so 库在 Android APK 安装包瘦身方面的应用
| 导语 众所周知 Android 加载 so 文件本身就是一种运行时动态加载可执行代码的行为,所以把 so 做成动态下发的没有什么技术风险,不过要把这项技术稳定落地到实际生产项目中还是有不少麻烦的问题。本文根据实际项目经验,分享一些 so 动态化关键技术点和需要避免的坑。 需求价值 一般来说,越是成熟的 Android 项目,Native 代码的贡献量就越多,以往 APK 体积的主要占比大都是资源文件,不过现在 Native 代码带来的 so 体积占比也很可观了,所以 so 动态化的价值越来越凸显。另一
腾讯Bugly
2020-03-02
8.2K0
官宣:腾讯WeTest明星工具-PerfDog面向全球发布!
导读 PerfDog(官网:perfdog.qq.com)作为移动全平台性能测试分析专业工具,在腾讯内部研发测试工具商店-WeTest Store上线后服务了近2000+名开发者,其中《王者荣耀》、《QQ飞车》、《天涯明月刀》、《和平精英》、《使命召唤手游》(CODM)等知名游戏以及QQ浏览器、腾讯微视、微信及小程序小游戏等优秀应用均在使用PerfDog。在经历过腾讯内部性能测试实践后,PerfDog将于2019年11月正式对外发布,开放给全球开发者使用。 洞穿性能测试痛点,铸就性能测试精品工具 一年
腾讯Bugly
2019-11-05
8410
Android app反调试与代码保护的一些基本方案
| 导语 本文介绍Android app代码(java + ndk)的反调试的方法和保护代码增加逆向难度的一些基本方法。 Android自问世以来得以迅速发展,各大手机厂商纷纷投入成本开发、设计开发自己的Android系统,从2016年开始,Android已经超越ios成为全球最有影响力的操作系统。针对于Android app的逆向方法和逆向工具很多,所以反调试对于Android的代码保护扮演着很重要的角色。本文从四个方面介绍一下Android反调试的一些方法。 ps:反调试并不能完全阻止逆向行为,只是在
腾讯Bugly
2019-05-16
3.1K0
直击GDC,腾讯WeTest发布CMatrix云游戏服务平台,为企业提供技术解决方案
2019年3月20日-22日, GDC游戏开发者大会(GameDevelopers Conference,以下简称GDC)于旧金山召开。每年的GDC大会上,来自世界各地,数以万计的游戏开发者们都会分享最新的研发技术,共同探索游戏行业未来的趋势。而在今年,云游戏再度登上热门话题的舞台。 CMatrix腾讯云游戏服务平台(以下简称腾讯CMatrix)受英特尔公司邀请,共同参展本届GDC大会,给大家带来Android云游戏技术解决方案,并提供了现场体验。同时,围绕 “Android云游戏”,来自腾讯CMatri
腾讯Bugly
2019-05-16
1.2K0
杂谈Android线程优先级
背景:最近在梳理Android线程调度的相关内容。在梳理过程中,阅读了部分源码,以及相关的介绍文章,甚至重新翻起了《Linux内核设计与实现》,但是距离理解透彻,并且能够用自己的语言清晰无误地阐述出来,感觉还有点远,还有很多细节需要进一步理论结合实际。为了避免在忙乱的生活节奏中,梳理的目标又草草结束。希望自己能够把目标细分一下,先把几个理解清晰的问题给记录下来,通过不断清晰地回答相关的问题,最终能够完成整个原理的清晰理解与阐述。这篇文章,就是针对Android线程优先级方面,一个一个问题的回答,可能有些凌
腾讯Bugly
2019-05-16
6.5K0
福利:免费送50 份价值 129 元的《Android 面试指南》
又到了一年“金三银四”,是找工作的最佳季节了,估计很多朋友开始考虑自己的职业生涯问题了,是否拿完年终奖之后再去外面找找机会?或者看看在新的一年里如何提高自己的技术,让自己的薪资再上一个新台阶。最近我们腾讯Bugly服务号联合小专栏特意给大家送上 50 份价值 129 元的《Android 面试指南》。领取方式继续往下看哦。 《Android 面试指南》除了对 Android 面试心得面试题的解析之外,还包含了对大公司小公司,职业发展等等各种探讨,所以即便你不计划要换工作面试,这份专栏也非常值得一看呢。 面
腾讯Bugly
2018-04-27
1.2K0
手Q Android缓存监控与优化实践
死锁问题对产品的影响是巨大的,那么是否会有效的方法能够监控Android应用的死锁呢?
腾讯Bugly
2018-04-27
2.7K8
《手Q Android线程死锁监控与自动化分析实践》
一、问题背景 手Q每个版本上线以后研发同学都会收到各种问题反馈。在跟进手Q内部用户反馈的问题时,发现多例问题,其表象和原因如下: 1、问题表象:“未读不消失”、“图片不展示”、“菊花一直在转” 。。。 2、问题原因:死锁导致的功能不可用。 这类由死锁造成的功能不可用的问题,具有表象简单但影响非常严重的特点。一般用户在遇到这类问题后,除了采取杀掉进程重启的策略,没有其他办法继续使用应用。由此可见,死锁问题对产品的影响是巨大的,那么有没有有效的方法能够监控Android应用的死锁呢? 首先想到的是使用代码规范来
腾讯Bugly
2018-04-27
2K6
Android JNI出坑指南
笔者结合自身经验、网上资料对 JNI 的坑进行总结,如果有不正确或遗漏之处欢迎指出。
腾讯Bugly
2018-03-23
4.2K2
点击加载更多
社区活动
RAG七天入门训练营
鹅厂大牛手把手带你上手实战
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档