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

半行代码

专栏作者
31
文章
39000
阅读量
11
订阅数
Android OutOfMemoryError原理解析
这篇文章我们直接来分析为什么我们的应用会抛出 OutOfMemoryError,以及哪些情况下会发生 OutOfMemoryError。OOM的异常在java层只有 java,lang.OutOfMemoryError 这一个Throwable的定义,抛出这个异常的行为由jni层触发:Thread::ThrowmOutOfMemoryError
烧麦程
2024-03-22
1220
ART虚拟机内存分配原理浅析
最近看了下art虚拟机的内存分配原理,在这里简要的分享一下。在art虚拟机里,维护了很多个空间分配内存,这些内存空间在art的源码里面被抽象成一个个Space对象。类之间的关系我从网上找了一下张图来表示,非常清晰:
烧麦程
2024-03-22
1120
内存大户Bitmap
前段时间工作中治理了一些 oom,针对内存大户 Bitmap 进行了了一次原理层面的分析。
烧麦程
2023-03-08
1.6K0
记一次Gradle依赖相关问题
‍最近对之前项目里面依赖的Flutter模块进行了一次升级。因为从1.x升级的时候3.0的flutter需要安卓原生适配compilesdkversion,所以我们APP使用的Flutter版本为2.8.1,现在app的构建版本升上来了,于是对之前的Flutter进行了升级。
烧麦程
2022-12-05
1.1K0
浅析 FlutterBoost
在 native 和 Flutter 的混合开发中,混合栈是一个绕不开的话题。在 Flutter 2.x 版本 FlutterEngineGroup 的多引擎方案之前,直接使用 Flutter 多引擎的内存占用是比较大的。所以存在业界开源比较有名的单引擎方案 FlutterBoost。FlutterBoost 的地址是:https://github.com/alibaba/flutter_boost我们调用了它的方案后,顺便来看下它内部的工作流程和设计思路。
烧麦程
2022-12-05
2.8K0
Android编译解析-Kapt
上篇说到 Android 在编译过程中发起 kotlin 编译的流程。今天分享一下关于 Kotlin 编译里面比较重要的相关步骤:kapt。在 kotlin 里,需要使用 apt 的话,需要使用 kapt 插件来替代 annotationProcessor 的声明:
烧麦程
2022-05-10
1.9K0
Android jbox2d实现碰撞效果
最近有个需求需要实现弹性碰撞,需要用到物理引擎实现弹性碰撞。比较场景的物理引擎是 box2d,有一个 Java 版本的 jbox2d 则可以在 Android 上运行。
烧麦程
2022-05-10
1.3K1
Android编译解析-Kotlin是如何编译的
当前我们常用的 Android 开发语言为 Kotlin,日常的项目也基本是 Kotlin 和 Java 共存。那么 Android 编译的时候会如何编译 Kotlin 呢,本篇文章我会对 Kotlin 编译的触发流程做一个介绍。
烧麦程
2022-05-10
1.8K0
Android编译解析 - Java是如何编译的
最近研究了一些 Android 编译流程相关的东西。这里记录成文章分享给大家。今天先分享一下代码编译相关的细节。Android 的代码编译包括 Java 和 kotlin 代码编译。本篇分析一下 Java 代码的编译流程。
烧麦程
2022-05-10
7490
了解Kotlin Flow(二)
上一篇我们初步认识了 StateFlow 和 SharedFlow ,为了有个相对更加清晰的认识,我们来看下它们的具体实现。
烧麦程
2022-05-10
6750
了解 Kotlin Flow(一)
最近了解了一下 Koltin Flow 相关的一些内容。在这里做一些简单的总结。关于 Flow 的知识点有如下一些:
烧麦程
2022-05-10
9490
Flutter触摸事件原理
Flutter 触摸事件的处理点在 GestureBinding中。在 GestureBinding 中存在一个 handlerPointerEvent方法,这个方法就是触摸事件在 Flutter 侧的触发点。
烧麦程
2022-05-10
1.3K0
带你走进Flutter_Mobx
Flutter 的状态管理框架很多,笔者个人使用起来比较舒适的是 flutter_mobx,使用了不短的时间,最近抽时间了解了一下 flutter_mobx 的实现。今天在这里分享一下。如果你还不熟悉 flutter_mobx 的使用,可以参考它的文档:https://pub.dev/packages/flutter_mobx,也可以参考我之前写的一篇文章: Flutter与Mobx那些事
烧麦程
2022-05-10
6440
Flutter动图加载机制解析
今天继续研究下 Flutter 是怎么处理动图的。Flutter 的 Image 加载默认会支持 gif、webp 等动态图片。在之前的文章中,我们会看到不同类型的图片加载逻辑是大致一样的,只是异步加载的逻辑不一样,
烧麦程
2022-05-10
1.3K0
Flutter图片加载和缓存机制探究
今天来研究一下 Flutter 自身是如何加载图片和管理图片的。Flutter 提供了一个图片控件 Image,Image 定义了若干种加载图片的方式,包括 Image.asset、Image.file、Image.network、Image.memory。Image内部维护了一个 ImageProvider对象,ImageProvider则真正维护整个图片加载的工作。Widget 本身内部是体现在 RawImage中:
烧麦程
2022-05-10
1.7K0
ViewModel创建过程详解
首先会创建一个 ViewModelProvider ,ViewModelProvider 的构造函数如下:
烧麦程
2022-05-10
1.1K0
Flutter软键盘原理
Flutter页面在软键盘弹出的时候,可以设置 Scaffold 的 resizeToAvoidBottomInset 属性来设置软键盘的处理。当这个值为true的时候,页面会进行重新布局。那么我们应
烧麦程
2022-05-10
1.4K0
来一份Flutter渲染分析
前段时间总体看了一下 Flutter 的渲染流程,今天整理成文章分享一下 Flutter 的工作原理。直接从 main 文件里面的 runApp 开始看起:
烧麦程
2022-05-10
4080
​React Native是怎么渲染出原生组件的
最近工作需要研究了一下React Native 的工作流程,理了一下 React Native 是怎么把控件最终渲染在屏幕上的。 在开始研究这个问题之前,我们缕一下我们的困惑:
烧麦程
2022-05-10
2.2K0
聊聊Android嵌套滑动
最近工作中遇到了需求是使用 Bottom-Sheet 交互的弹窗,使用了 design 包里面的 CoordinatorLayout 和 BottomSheetBehavior ,因为弹窗承载的页面相对来说还是比较复杂的页面,所以也踩了好几个坑。之前UI交互类的东西接触的也比较少,于是把Android里面嵌套滑动相关的内容也过了一遍,在这里做一些分享。 在嵌套滑动控件的场景中,可以在Android的事件分发机制本身做一些处理,外部拦截或者内部消化触摸事件。但是这样的解决方法有几个弊端:
烧麦程
2022-05-10
1.2K0
点击加载更多
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档