android
文章平均质量分 91
字节跳动终端技术
这个作者很懒,什么都没留下…
展开
-
【无标题】
作为业务复杂度较高的App,不仅功能繁多,同时需要研发合作的业务团队也数不胜数;面对不同团队间的需求开发、上线,如何保证研发团队高效协同、并确保代码准确无误上线?今日头条App联合火山引擎MARS探索出了新的解决方案。本期 MARS TALK 我们邀请了今日头条 Android 工程师徐璐和火山引擎MARS研发工程师陈绪伟做客直播间,分享今日头条等大型App研发最佳实践的技术原理和实践经验。本次活动采用线上直播的模式,欢迎大家扫码报名参加 🎉⏰ 活动时间:4月28日(周四)20:00-21:30📺原创 2022-04-19 15:54:38 · 270 阅读 · 0 评论 -
Android编译优化系列-kapt篇
(火山引擎MARS专栏)本文是编译优化系列文章之 kapt 优化篇,后续还会有 build cache, kotlin, dex 优化等文章,敬请期待。原创 2022-03-03 20:54:29 · 3778 阅读 · 0 评论 -
APK修改神器:插桩工具 DexInjector
本文介绍了一个针对Dex进行插桩的工具,讲解了一下直接修改Dalvik字节码和Dex文件时遇到的问题和解决方法。(火山引擎MARS)原创 2022-02-23 21:47:18 · 2158 阅读 · 1 评论 -
APP性能分析工作台——性能分析更方便啦
目前 MARS-App 性能分析工作台版本为开发者提供Fastbot桌面版的服务。 旨在帮助开发者们更快、更便捷地开启智能测试之旅,成倍提升稳定性测试的效率。原创 2022-01-13 20:26:08 · 2432 阅读 · 0 评论 -
端智能助力西瓜视频业务实践
作者:字节终端技术——覃量前言端智能,顾名思义就是在端上跑AI模型。端智能作为目前火热的一个新方向,在业界已经开始崭露头角。阿里、谷歌、快手等大企业都在积极布局端智能,用端上AI来优化各种业务场景并取得了非常突出的效果。字节Client AI团队深耕端智能领域,并在今年早些时候与西瓜视频合作落地了端智能视频预加载方案,取得了不错的结果。本篇我们通过这个案例,带大家一起来揭开端智能的面纱,看看端上AI在实际中是如何应用提高业务效果的。一、场景1.0 场景介绍西瓜视频预加载这个场景非常简单: 在播原创 2021-11-11 18:58:46 · 1474 阅读 · 0 评论 -
字节Android Native Crash治理之Memory Corruption工具原理与实践
作者:字节跳动终端技术——庞翔宇内容摘要 MemCorruption工具是字节跳动AppHealth (Client Infrastructure - AppHealth) 团队开发的一款用于定位野指针(UseAfterFree)、内存越界(HeapBufferOverflow)、重复释放(DoubleFree)类问题检测工具。广泛用于字节跳动旗下各大 App 线上问题检测。本文将通过方案原理和实践案例来介绍此工具。背景 随着 Android App 开发的技术栈不.原创 2021-11-01 11:14:51 · 773 阅读 · 0 评论 -
再谈字节小程序
作者:字节小程序基础技术团队-杨德立前言如今,全网小程序数量已超700w+个,细分行业200+个,开发者数量超500w个,作为移动互联网的重要新基建小程序互联网已成型,用户习惯已经养成。字节小程序身处大的生态之中,基于字节APP而建。围绕开放场景、开放接口、开放信任关系搭建的一套以小程序为最终落地的技术载体连接外部企业主体所提供服务的全链路生态解决方案。方案在主要提供和具备多页应用级形态的开发和运行模式同时,还提供了单页、卡片等的开发和运行模式,可支持多形态和运行模式间的运行时打通和联动。目前已经覆盖原创 2021-10-22 17:35:12 · 1655 阅读 · 0 评论 -
Android Studio IDE 插件开发
作者:字节跳动终端技术——周宸韬概述这篇文章旨在向读者介绍IntelliJ IDE插件的开发流程以及常用的一些通用功能,任何基于IntelliJ开发的IDE都可以通过该方式制作插件,例如Android Studio(AS),本篇也将基于Android Studio进行展开介绍,读者将从0到1学习到 Android Studio插件开发。背景介绍什么是IDE插件、IDE插件能做什么?IDE插件是将一些功能集成到了IDE界面当中,当我们使用IDE进行开发工作时能很方便的通过UI界面使用这些功能,例如.原创 2021-10-17 22:00:30 · 1879 阅读 · 1 评论 -
Android 资源溢出崩溃轻松解
作者:字节跳动终端技术—李权飞资源溢出是什么?毫无疑问,应用的运行需要占用系统的资源。其中最为人所熟知的资源是内存,内存溢出便是耳熟能详的OOM。常见的简单OOM一般可以通过堆栈来解决,如Java OOM,一部分可以直接从堆栈中看到哪里使用了多大内存导致了内存溢出,复杂一些的Java OOM,则可以使用其他分析工具来进行处理。但如果堆栈里看不出来呢?或者它不是Java崩溃呢?java.lang.OutOfMemoryError: Failed to allocate a 3237132 byte .原创 2021-10-13 15:46:04 · 2265 阅读 · 0 评论 -
火山引擎MARS-APM Plus x 飞书 |降低线上OOM,提高App性能稳定性
通过使用火山引擎MARS-APM Plus的memory graph功能,飞书研发团队有效分析定位问题线上case多达30例,线上OOM率降低到了0.8‰,降幅达到60%。大幅提升了用户体验,为飞书的性能品质保驾护航。应用程序稳定性是影响用户体验及留存的关键因素对于移动App的开发者来说,最基础也是最关注的问题就是应用程序的稳定性。而崩溃问题是影响稳定性的重要因素, 包括NSException、Signal、卡死、OOM(Out Of Memory)等问题类型。其中,OOM问题是随着业务的迭代,慢慢.原创 2021-10-13 11:17:38 · 1089 阅读 · 0 评论 -
Android性能优化之Android 10+ dex2oat实践
作者:字节跳动终端技术——郭海洋背景对于Android App的性能优化来说,方式方法以及工具都有很多,而dex2oat作为其中的一员,却可能不被大众所熟知。它是Android官方应用于运行时,针对dex进行编译优化的程序,通过对dex进行一系列的指令优化、编译机器码等操作,提升dex加载速度和代码运行速度,从而提升安装速度、启动速度、以及应用使用过程中的流畅度,最终提升用户日常的使用体验。它的适用范围也比较广,可以用于Primary Apk和Secondary Apk的常规场景和插件场景。(Prim原创 2021-10-08 11:34:23 · 12819 阅读 · 1 评论 -
Flutter 多引擎支持 PlatformView 以及线程合并解决方案
作者:字节移动技术-李皓骅摘要本文介绍了 Flutter 多引擎下,使用 PlatformView 场景时不能绕开的一个线程合并问题,以及它最终的解决方案。最终 Pull Request 已经 merge 到 Google 官方 Flutter 仓库:https://github.com/flutter/engine/pull/27662本文关键点:线程合并,实际上指的并不是操作系统有什么高级接口,可以把两个 pthread 合起来,而是 flutter 引擎中的四大 Task Runner .原创 2021-09-09 19:44:35 · 1173 阅读 · 0 评论