红黑树是一棵自平衡的二叉搜索树,因此在学习红黑树之前,我们需要回顾一下之前所学的知识二叉搜索树和平衡二叉树。 1.二叉搜索树 二叉搜索树又叫二叉查找树或者二叉排序树,它首先是...
红黑树是一棵自平衡的二叉搜索树,因此在学习红黑树之前,我们需要回顾一下之前所学的知识二叉搜索树和平衡二叉树。 1.二叉搜索树 二叉搜索树又叫二叉查找树或者二叉排序树,它首先是...
CopyOnWriteArrayList 简介 在很多应用场景中,读操作可能会远远大于写操作。由于读操作根本不会修改原有的数据,因此如果每次读取都进行加锁操作,其实是一种资源...
前言 本文讲文字的居中,不过在你阅读本文之前,强烈建议你读一下我的上一篇文章Android自定义View之DashBoard(仪表盘) ,因为上一篇的内容讲了Paint和Ca...
一个成熟的业务,必定会有各种埋点来支撑业务数据上报,在日常开发工作中埋点需求跟业务需求一样重要,所以埋点发送的正确与否关系到某个业务功能的验证,甚至可以影响到整个公司的战略决...
1.避免在onBind方法中创建对象 因为onBind方法的调用时机是View滑到屏幕内可显示时这个方法就会调用此方法,避免在这个方法内设置点击事件等创建对象的操作。 2.避...
Android Studio 环境配置 统一Gradle缓存目录 添加环境变量“GRADLE_USER_HOME”,值为Gradle构建的时候所需要的文件缓存目录; 在And...
前言 RecyclerView这个控件几乎所有的Android开发者都使用过(甚至不用加几乎),它是真的很好用,完美取代了ListView和GridView,而Recycle...
前言 如果你也学习Android,那么你大概率会看过我的文章。经常有读者给我留言:“该怎么学习Android?”、“日常学习Android的方法是什么”、”如何实践应用And...
Android可以通过设置 View#setOutlineProvider方法来设置轮廓。(不过好像不支持反锯齿,使用贝塞尔曲线来创建轮廓的话,锯齿感很重。 使用方法如下: ...