首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
littlefogcat
掘友等级
Android开发者
Keep learning
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
4
文章 4
沸点 0
赞
4
返回
|
搜索文章
最新
热门
【Android】全局自定义字体的实现
由于网上大部分教程在新版本系统中已经失效,特此记录。 一、修改TextView字体 假设现在有一个字体文件msyh.ttf;对于某个TextView来说,如果想修改它的字体,可以简单的使用如下代码:
Activity启动流程?基于Api30的Activity启动流程分析
本文将根据Api 30(Android 11)的源码来分析Activity的启动流程。我个人把Activity的启动流程依次分为三个阶段:
【Android】分享一个在RecyclerView中使用数据绑定(DataBinding)的Adapter基类
BaseDataBindingAdapter是一个简易的、在RecyclerView中使用数据绑定、只支持一种数据类型和布局的Recycler Adapter基类,适用于单一数据、布局类型的简单RecyclerView。 使用BaseDataBindingAdapter,实现一…
【Android】Handler、Looper、消息队列运行机制原理解析及常见相关问题
Handler及消息队列是Android中一个基本的知识点,也是Android应用建立的基石。本文介绍了Handler的运行机制,以及相关面试题的答案。 如果有什么地方有疏漏、错误,或者有什么疑问,欢迎留言。 1. Looper和消息队列机制 Handler持有了一个消息队列M…
【Java】HashMap原理及常见问题
HashMap与Hashtable两个类都是通过Key-Value对存储的数据结构。 根据官方的说法,二者唯二的区别是HashMap线程不安全而Hashtable线程安全,并且HashMap允许null值而Hashtable不允许。 Hashtable实现线程安全的方式是使用s…
【Java】String是不可变的,真的如此吗?从原理深度剖析!
学Java的人或多或少都会得到这么一个信息:String是不可变的。那么果真如此吗? 本文前置知识:反射,Java内存模型。 打开String的源码,赫然可以看见,其实String对象的数据储存在它的value数组中。 在早起版本的Java中,这是一个char[]类型的数组,较…
【算法与数据结构】算法系列:Top-K问题(Leetcode 215)
即,找出数组中的第k大元素,重复的元素算多个。 1. 直接排序 排序后取第k项即可。 2. 使用堆 维护一个大小为k的最小堆,在遍历数组的过程中更新堆,最终根节点即是第k大的数。 这里为了方便阅读,堆使用了面向对象的方式,具体实现参考堆排序。 3. 使用快排分区 根据快排分区算…
仿B站弹幕,极简Android开源弹幕控件:EasyDanmaku
一个方便简单的Android弹幕控件,顾名思义so easy。 0. 导入 1. 用法两部曲 2. changelog 其他的一些优化。 重写了DanmakuView。 优化结构,去除冗余类。 修复弹幕过长导致显示内容不完整的问题。 加入顶部和底部弹幕。
【Android】分享一次DataBinding的诡异踩坑经历(点击事件无效)
DataBinding想必大家已经很熟悉了。就在今天,我写了一个demo,然而遇到了一个匪夷所思的问题,Button的点击事件怎么也设置不了。翻遍了百度谷歌,也没有搜到什么有用的结果,最后还是得靠自己。 哪怕翻来覆去的看也没什么问题啊!可是为什么点击这个Button就没反应呢?…
【Java/Android】超详细的线程池分析
在Java中,要使用多线程,除了使用new Thread()之外,还可以使用线程池ExecutorService。 在异步任务比较多时,创建、销毁线程会占用很多系统资源;这时候,使用线程池,就可以实现线程的复用,让人专注于任务的实现,而不是管理线程。 1. 什么是线程池 线程池…
下一页
个人成就
文章被点赞
36
文章被阅读
17,935
掘力值
517
关注了
1
关注者
13
收藏集
1
关注标签
1
加入于
2020-05-24