首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
鹰叔
掘友等级
生活给予的既然无法拒绝,那就让这些转化为燃烧的能量吧!
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
397
文章 396
沸点 1
赞
397
返回
|
搜索文章
最新
热门
View.invalidate() 与 requestLayout()
只改内容/样式(不改大小位置) -> invalidate() 改了大小/位置/层级 -> requestLayout() postInvalidate ()在子线程的时候调用,(本质是通过 Hand
ArrayList 与 LinkedList 性能对比
新增元素 ArrayList 在添加元素的时候如果不涉及到扩容,性能在两种情况下(中间位置新增元素、尾部新增元素)比 LinkedList 好很多,只有头部新增元素的时候比 LinkedList 差,
HashMap
总结对比表 特性 JDK 1.7 JDK 1.8 变化原因/优势 数据结构 数组 + 链表 数组 + 链表 + 红黑树 解决哈希冲突严重时查询慢的问题 (O(n) -> O(log n)) 插入方式
Android启动模式以及任务栈分配与区分
一、启动模式 standard(普通模式) singleTop(栈顶复用) singleTask(栈内复用、栈内唯一) singleInstance(独占新栈) 二、任务栈分配 普通情况下,没有设置
HashMap、ArrayMap、SparseArray
三者都是线程不安全的。 ArrayMap、SparseArray 是Android专属的 三种数据结构对比总览 特性 HashMap ArrayMap SparseArray 底层结构 哈希表+链表/
数据结构
1、ArrayList: 内部是数组结构 2、LinkedList: 内部是列表结构 3、treeMap: 内部是二叉树结构 4、HashMap: 内部是数组 + 列表 结构,在jdk1.8以后,列表
BlockCanary浅析理解
主要的作用是定位检测APP中耗时的操作。 原理:是通过在 Handler的dispatchMessage(msg) 前后打日志来判断处理的时间,确定是否存在耗时的操作。 在子线程中处理获取主线程的堆栈
LeakCanery 浅析理解
leakCanery 是检测Android内存泄漏的工具 Android中内存泄漏的本质:Android (或 JVM)的内存泄露:短⽣命周期的对象被⻓⽣命周期的对象持有, 从⽽导致短⽣命周 期的对象
StringBuilder 与 StringBuffer的区别
一、线程安全 StringBuilder线程不安全的,StringBuffer线程安全 StringBuffer(线程安全) StringBuilder(非线程安全) 二、继承关系
Android 自定义View(一): 自定义TextView
效果图: 自定义TextView 的构造函数写法有两种: 第一种比较推荐写法: 第二种写法: 接下来就是创建 Paint和初始化一些配置 在 onMeasure 中测量文字的宽高 测量结束以后开始绘制
下一页
个人成就
文章被点赞
2
文章被阅读
8,597
掘力值
297
关注了
98
关注者
2
收藏集
32
关注标签
63
加入于
2016-06-04