首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
android基础
订阅
messiwpy
更多收藏集
微信扫码分享
微信
新浪微博
QQ
57篇文章 · 0订阅
使用Android Studio 4.1 Profiler 来完成内存泄漏的定位
Profiler根据dump文件来分析内存泄漏,跳转到下图. 2.查看当前的内存泄漏对象,我们可以先关注自己的工程的内存泄漏. 5.点击5以后,6就可以很容易定位到是什么变量导致的这个对象的内存泄漏. 从下图就可以很容易看到是因为我们定位的静态变量引用导致的问题.
原理介绍 | Apply Changes 背后的秘密
在 Android 11 上,Android 运行时 (ART) 引入了一个名为 Structural Class Redefinition (类的结构性重定义) 的 JVMTI API 扩展。本文将介绍类的结构性重定义的功能,并介绍在实现该功能所遇到的问题,包含我们对问题的思…
“终于懂了” 系列:Android屏幕刷新机制—VSync、Choreographer 全面理解!
在Android中,当我们谈到 布局优化、卡顿优化 时,通常都知道 需要减少布局层级、减少主线程耗时操作,这样可以减少丢帧。如果丢帧比较严重,那么界面可能会有明显的卡顿感。我们知道 通常手机刷新是每秒60次,即每隔16.6ms刷新一次。 问题来了: 本文介绍的内容会详细解释以上…
ViewRootImpl的独白,我不是一个View(布局篇)
前一段时间写过两篇关于View的文章 Activity中的Window的setContentView 和 遇见LayoutInflater&Factory 。分析了Activity设置页面布局到页面View元素进行布局到底经历了一个怎么样的过程?
比 SharedPreferences 更高效?微信 MMKV 源码解析
MMKV 是微信于 2018 年 9 月 20 日开源的一个 K-V 存储库,它与 SharedPreferences 相似,但又在更高的效率下解决了其不支持跨进程读写等弊端。 一年前的自己因对它非常感兴趣写下了一篇 【Android】 MMKV 源码浅析。不过由于当时还是大二…
漫谈唯一设备ID
设备ID,简单来说就是一串符号(或者数字),映射现实中硬件设备。 不幸的是,对于Android平台而言,没有稳定的API可以让开发者获取到这样的设备ID。 然而随着Android版本的升级,获取设备ID却越来越难了。 加上Android平台碎片化的问题,获取设备ID之路,可以说…
绝对值得一看的 Android 数据库升级攻略
当存取数据比较复杂时,我们会选择 SQLite 数据库进行存储,下面我们会介绍一下在使用 SQLite 时遇到的问题及相应的解决方案
[译]Android 生命周期备忘录 — 第一部分:单一 Activities
Android 系统的目的是让用户增强控制权并且让他们简便地使用应用程序。例如,一个 app 的用户可能会旋转屏幕,回复一条通知信息,或者切换到另一个任务,而用户应该能够在这类操作后继续流畅地使用这个 app。 为了提供这种用户体验,你应该知道怎么管理组件的生命周期。组件可以是…
进阶之路 | 奇妙的Drawable之旅
Drawable种类繁多,它们都表示一种图像的概念,但是它们不全是图片。在实际开发中,Drawable经常被用来作为View的背景使用。 Drawable可以方便我们做出一些特殊的UI效果,这一点在UI相关的开发工作中极为重要。面对UI设计师设计出来的各式各样的按钮点击效果,动…
Context 都没弄明白,还怎么做 Android 开发?
作为 Android 开发者,不知道你有没有思考过这个问题,Activity 可以 new 吗?Android 的应用程序开发采用 JAVA 语言,Activity 本质上也是一个对象,那上面的写法有什么问题呢?估计很多人说不清道不明。