安卓动态链接库文件体积优化探索实践

2 月 5 日
阅读 8 分钟
1k
安装包的体积受诸多方面影响,针对dex、资源文件、so文件都有不同的优化策略,在此不做一一展开,本文主要记录了在研发时针对动态链接库的文件体积裁剪优化方案。

Skia 编译及踩坑实践

2023-12-27
阅读 20 分钟
1.3k
Skia 是一个开源 2D 图形库,提供可跨各种硬件和软件平台工作的通用 API。 它充当 Google Chrome 和 ChromeOS、Android、Flutter 和许多其他产品的图形引擎。也是国内大厂自渲染首选图形库。

使用 Taro 开发鸿蒙原生应用 —— 当 Taro 遇到纯血鸿蒙 | 京东云技术团队

2023-12-13
阅读 4 分钟
2.4k
在今年 8 月的「2023年华为开发者大会(HDC.Together)」上,华为正式官宣「鸿蒙Next」,这个更新的版本将移除所有的 AOSP 代码,彻底与 Android 切割,使其成为一个完全自主研发的操作系统,这将去掉 40%左右多余的代码,使系统变得更加简洁、流畅。同时,会上也预告了将在明年 1 月份发布面向所有开发者的预览版,意味...
封面图

Android Kotlin 协程初探 | 京东物流技术团队

2023-10-24
阅读 7 分钟
5.7k
维基百科:协程,英文Coroutine [kəru’tin] (可入厅),是计算机程序的一类组件,推广了协作式多任务的子程序,允许执行被挂起与被恢复。
封面图

深入理解 Flutter 图片加载原理 | 京东云技术团队

2023-08-16
阅读 8 分钟
6.2k
随着Flutter稳定版本逐步迭代更新,京东APP内部的Flutter业务也日益增多,Flutter开发为我们提供了高效的开发环境、优秀的跨平台适配、丰富的功能组件及动画、接近原生的交互体验,但随之也带来了一些OOM问题,通过线上监控信息和Observatory工具结合分析我们发现问题的原因是由于Flutter页面中加载的大量图片导致的内存...
封面图

蓝牙智能设备数据采集平台化方案 | 京东云技术团队

2023-08-02
阅读 4 分钟
5.9k
随着人们生活水平的提升,对健康的关注意识也随之提高;另外人口结构的老龄化,慢性病发病率升高,以及新冠疫情持久广泛的影响,进一步提高了大众对疾病早期预防、身体数据定期自测、慢性病持续关注等各个层面的重视程度;典型的,比如体温、血氧、血压、体重等高频、普遍使用的自测参数,在一些医疗器械和智能手机APP中...
封面图

搜狗输入法双击输入框崩溃问题 | 京东云技术团队

2023-07-24
阅读 3 分钟
6.1k
每当到618、双11这样大促的时候,搜索作为整个App的核心功能,不仅担当着流量入口,还承载着用户感知到这个产品在导购场景中的服务与体验,所以保障搜索以便更好的助力618大卖。
封面图

Flutter状态管理新的实践 | 京东云技术团队

2023-06-20
阅读 4 分钟
6.8k
声明式UI其实并不是近几年的新技术,但是近几年声明式UI框架非常的火热。单说移动端,跨平台方案有:RN、Flutter。iOS原生有:SwiftUI。android原生有:compose。可以看到声明式UI是以后的前端发展趋势。而状态管理是声明式UI框架的重要组成部分。
封面图

插件化工程R文件瘦身技术方案 | 京东云技术团队

2023-06-13
阅读 7 分钟
755
随着业务的发展及版本迭代,客户端工程中不断增加新的业务逻辑、引入新的资源,随之而来的问题就是安装包体积变大,前期各个业务模块通过无用资源删减、大图压缩或转上云、AB实验业务逻辑下线或其他手段在降低包体积上取得了一定的成果。
封面图

基于 prefetch 的 H5 离线包方案 | 京东云技术团队

2023-06-06
阅读 5 分钟
3.7k
对于电商APP来讲,使用H5技术开发的页面占比很高。由于H5加载速度非常依赖网络环境,所以为了提高用户体验,针对H5加载速度的优化非常重要。离线包是最常用的优化技术,通过提前下载H5渲染需要的HTML/JS/CSS资源,加载时直接使用本地缓存资源避免额外的网络请求提高加载速度。本文主要是介绍团队在离线包技术方案上的探...

Flutter三棵树系列之BuildOwner | 京东云技术团队

2023-05-30
阅读 9 分钟
3.9k
Flutter开发中三棵树的重要性不言而喻,了解其原理有助于我们开发出性能更优的App,此文主要从源码角度介绍Element树的管理类BuildOwner。
封面图

Flutter调优--深入探究MediaQuery引起界面Rebuild的原因及解决办法 | 京东云技术团队

2023-05-29
阅读 5 分钟
3.5k
我们可以通过MediaQuery.of(context)方法获取到一些设备和系统的相关信息,比如状态栏的高度、当前是否是黑暗模式等等,使用起来相当方便,但是也要注意可能引起的页面rebuild问题。本文会介绍一个典型的例子,并深入源码来探讨引起rebuild的原因,最后介绍避免rebuild的几个办法。
封面图

Flutter热更新技术探索 | 京东云技术团队

2023-05-26
阅读 4 分钟
3.9k
APP发布到市场后,难免会遇到严重的BUG阻碍用户使用,因此有在不发布新版本APP的情况下使用热更新技术立即修复BUG需求。原生APP(例如:Android & IOS)的热更新需求已经比较成熟,但Flutter技术栈目前还缺少类似的技术方案,因此Flutter研发团队,也需要类似的热更新技术。
封面图

Flutter三棵树系列之详解各种Key | 京东云技术团队

2023-05-24
阅读 5 分钟
2.8k
key是widget、element和semanticsNode的唯一标识,同一个parent下的所有element的key不能重复,但是在特定条件下可以在不同parent下使用相同的key,比如page1和page2都可以使用ValueKey(1) 。
封面图

Android事件分发-基础原理和场景分析

2023-04-21
阅读 13 分钟
1.3k
和其他平台类似,Android 中 View 的布局是一个树形结构,各个 ViewGroup 和 View 是按树形结构嵌套布局的,从而会出现用户触摸的位置坐标可能会落在多个 View 的范围内,这样就不知道哪个 View 来响应这个事件,为了解决这一问题,就出现了事件分发机制。
封面图

京东金融Android瘦身探索与实践

2023-03-27
阅读 10 分钟
953
随着业务不断迭代更新,App的大小也在快速增加,2019年~2022年期间一度超过了117M,期间我们也做了部分优化如图1红色部分所示,但在做优化的同时面临着新的增量代码,包体积一直持续上升。包体积直接或间接地影响着下载转化率、安装时间、磁盘空间等重要指标,所以投入精力发掘更深层次的安装包体积优化是十分必要的。根...
封面图

京东金融客户端用户触达方式的探索与实践

2022-09-15
阅读 11 分钟
4.6k
一、关于用户触达用户触达:可以简单理解为通过某种方式将消息传递给用户的行为;触达的特定消息从功能上可分展示、引导落地两层。用户触达作为一种产品运营方式,已经融入我们日常生产活动的方方面面。在移动互联网的世界里,我们的产品离不开触达,用户活动也离不开触达。
封面图

干货 | 京东技术中台的Flutter实践之路

2019-10-17
阅读 11 分钟
3.3k
在 2019 年,Flutter 推出了多个正式版本,支持的终端越来越多,使用的项目也越来越多。Flutter 正在经历从小范围尝鲜到大面积应用的过程,越来越多的研发团队加入到 Flutter 的学习热潮中,京东作为互联网大厂之一也积极参与了 Flutter 的跨端方案研究。本文将介绍京东在 Flutter 上的应用方案和相关优化成果。