首页
AI Coding
数据标注
NEW
沸点
课程
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
Android
订阅
小小火水水
更多收藏集
微信扫码分享
微信
新浪微博
QQ
157篇文章 · 0订阅
Android Systrace 基础知识(2) -- 分析 Systrace 预备知识
本文是 Systrace 系列文章的第二篇,主要是讲解一些分析 Systrace 的预备知识, 有了这些预备知识, 分析 Systrace 才会事半功倍, 更快也更有效率地找到问题点. 本文介绍了如何查看 Systrace 中的线程状态 , 如何对进程的唤醒信息进行分析, 如何…
GitHub 上优质项目整理
1. 免费书籍 (4)处于萌芽阶段的 Java 核心知识库。 2. Android 开源框架合集,工具类,UI (11)基于DataBinding框架,MVVM设计模式的一套快速开发库,整合Okhttp+RxJava+Retrofit+Glide等主流库,满足日常开发需求。使用…
LeakCanary原理解析
LeakCanary是Square为Android应用提供的一个监测内存泄露的工具,源码地址:https://github.com/square/leakcanary。 在gradle文件中引入依赖: 在项目的Application中添加检测: 如果检测到有内存泄漏,手机桌面会…
Gradle 提速:每天为你省下一杯喝咖啡的时间
作为一名 Android 开发同学,当你的工程和代码达到一定规模的时候,相信你一定遇到过编译速度过慢的问题。比如: 对于程序猿,时间尤其宝贵,当你修改完一个 BUG 或者想验证一个功能时,却因为编译速度过慢而不得不打断你的思路,也会严重影响你的开发效率。 正所谓,磨刀不误砍柴工…
Java——ArrayList源码解析
以下针对JDK 1.8版本中的ArrayList进行分析。 ArrayList基于List接口实现的大小可变的数组。其实现了所有可选的List操作,并且元素允许为任意类型,包括null元素。除了实现List接口,此类还提供了操作内部用于存储列表数组大小的方法(这个类除了没有实现…
Android自定义控件(高手级)--JOJO同款能力分析图
一、静态图的绘制1.绘制外圈2.内圈绘制3.文字的绘制4.最后一步:画内容二、数据的提取与封装1.View的尺寸限定2.数据处理3.数据与字符的映射关系:DataMapper4.使用方法:三、n条属性
Java 快速进行对象集合数据比对,For循环嵌套不应该成为你的选择
说明测试耗时会因为设备性能不同而不同,以下为测试设备的硬件准备阶段创建对象模型,对象模型越复杂,越慢通过循环插入大量假数据方法一两层遍历查找,遍历次数为list1.size()*list2.size(
推荐使用 Kotlin 关键字 Reified
reified:使抽象的东西更加具体或真实,非常推荐 Android 开发使用这个关键字。本文介绍 3 点特别的使用方式如下: 1. 不再需要传参数 clazz 2. 不安全的转换 Kotlin 中, 使用安全转换操作符 as?,它可以在失败时返回 null。实现如下函数,我们…
【源码阅读】Glide源码阅读之load方法(二)
上一篇中,我们阅读了glide的with方法的相关代码,这一篇,我们来看看load方法。 。。。。。。就只是做了个变量的赋值,同样的还有其他一些常用的方法:apply、transition、listener、addListener、error等方法 总结:通过with和load…
一个APP从启动到主页面显示经历了哪些过程?
本文以图文并茂的形式简单介绍一个APP从启动到主页面显示经历了哪些流程,以及实现的原理。不介绍具体源码,仅仅构建一个大体框架。 ⑦主线程在收到Message后,通过发射机制创建目标Activity,并回调Activity.onCreate()等方法。 ⑧到此,App便正式启动,…