首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
Android
订阅
浩宇碧海
更多收藏集
微信扫码分享
微信
新浪微博
QQ
21篇文章 · 0订阅
拯救OOM!字节自研 Android 虚拟机内存管理优化黑科技 mSponge
本文描述的虚拟机内存管理优化方案,是从应用侧视角对 Android 虚拟机内存管理进行改造,优化了虚拟机对 LargeObjectSpace 的内存管理策略,间接增加其它内存空间使用上限。
Android通用曝光统计组件
引言 目前 Android 客户端的埋点采集方式可以分为三类: 代码埋点 在需要埋点的位置直接上传埋点数据。优点是准确性高,可以灵活的获取业务数据参数。缺点是代码工作量大,侵入性强,后续维护复杂等。
Android 媒体播放框架MediaSession分析与实践
如果还需要支持多端(电视、手表、耳机等)控制同一个播放器,那么整个系统架构可能会变得非常复杂,我们要花费大量的时间和精力去设计、优化代码的结构。那么有什么方法可以节省这些工作,提高我们的效率,然后还可以优雅地实现上述这些功能呢? Google在Android 5.0中加入了Me…
Android告别使用shape标签,自定义实现圆角、背景色、描边Button
为什么不使用shape标签 我想大家平常都用过shape标签来定义一个Drawable,来实现一些例如圆角、设置描边等一些需求。但是,最近发现项目中res/drawable/下的shape标签文件越来
【Gradle7.0】依赖统一管理的全新方式,了解一下~
Gralde7.0新特性,Catalog支持在项目间共享依赖,支持在单独的文件中配置依赖,支持版本号与依赖名分离,可以在多个依赖间共享版本号,支持将经常一起使用的依赖打包成依赖组
深入进阶- Fragment是如何展示并且回调对应的生命周期
这个过程可以分为四个步骤。 总结:创建过程先会在缓存中查找是否已加载过这个fragment,如果没有创建过会通过反射,简单的调用了fragment的无参构造方法。 getSupportFragmentManager返回的实际是mHost的getFragmentManagerIm…
Google 推荐在项目中使用 sealed 和 RemoteMediator
在开始阅读本文之前,建议更新 PokemonGo 最新的代码,对照着代码一起看,为了节省篇幅,文中只会列出核心代码。 之前有小伙们问过我,如何在 Flow 基础上封装成功或者失败处理逻辑,关于这个问题,其实 Google Android 团队的工程师在 medium 上发表过一…
JetPack之Paging3.0
之前写过一篇Paging2.x的是使用和分析,Paging2.x运行起来的效果无限滑动还挺不错的,不过代码写起来有点麻烦,功能也不是太完善,比如下拉刷新的方法都没有提供,我们还得自己去调用DataSource#invalidate()方法重置数据来实现。最近google出了3.…
Kotlin 协程入门这一篇就够了
Android系统为了保证界面的流畅和及时响应用户的输入事件,主线程需要保持每16ms一次的刷新(调用 onDraw()函数),所以不能在主线程中做耗时的操作(比如 读写数据库,读写文件,做网络请求,解析较大的 Json 文件,处理较大的 list 数据)。 get()通过接口…
[译][5k+] Kotlin 的性能优化那些事
这篇文章应该可以说是 [译][2.4K Start] 放弃 Dagger 拥抱 Koin 文章的续集,在 “放弃 Dagger 拥抱 Koin” 文章中介绍了过渡使用 Inline 修饰符所带来的后果,以及 Koin 团队在为修复 1x 版本所做的性能优化,这边文章将继续学习如…