- 博客(62)
- 资源 (1)
- 收藏
- 关注
原创 前缀树的操作
前缀树是N叉树的一种形式,常用于存储字符串,树中每一个节点表示一个字符。 前缀树重要的存在价值是搜索速度,典型的利用空间换时间,时间复杂度为O(n),n是树的深度。上图中存储了四个单词:am、bad、be、so,位于叶子节点,叶子节点一定为词,但词不一定位于叶子节点。除了存储词的节点外,其余节点称为前缀。如ba,在树中并不是一个词,但他是bad词的前缀,前缀的重要作用就是减少存储空间,具...
2018-05-13 17:27:28
1235
原创 白话HashMap源码(上)
HashMap一句话就可以说个大概:用哈希算法把key计算出索引index,然后将key、value构成的HashMapEntry放入HashMapEntry[index],即完成了put功能,get时将key重计算出index去取HashMapEntry。以上只是最表层的思想,如果不同key计算出相同的index呢?HashMapEntry里的next就起到作用了。如上图:横排的...
2018-05-08 10:46:04
270
原创 Kotlin之应用Gson
引言Gson是不是很简洁很容易上手呢?最主要的就两个方法toJson()和fromJson()将实体转为Json和将Json转为实体。我之前没有使用过Gson,更不用说是用Kotlin了。由于使用的时间还不是很长,好不好用还真不好说。我之前用惯了Json且有这个JsonHelper工具类的帮助,暂时性的认为没有JsonHelper好用且功能不如JsonHelper的实用。主要是因为碰到了下文将要讲述的坑
2018-01-20 21:09:06
1794
原创 Kotlin之下拉刷新与上拉加载控件
用Kotlin完成给RecyclerView添加headerView和FooterView,涉及到了事件分发很动画相关的知识
2018-01-18 23:12:10
1085
原创 Kotlin之Glide的自定义BitmapTransformation
Kotlin之Glide的自定义BitmapTransformation
2018-01-15 23:28:25
2001
原创 Kotlin之利用RecyclerView优化布局
引言上一篇中已经将JSON数据转化为布局可以发现: 1、单击按钮很长一段时间后界面才显示出来 2、且左上角的数字显示根ViewGroup内有81个子View 3、单这一个界面全部加载完成总共消耗了125M内存(Android Profiler),原因有:控件初始化后就去请求图片了作为开发,单拿出以上任意一条来都是不能够忍的。分析: 1、时间长除了请求接口外的主要原因
2018-01-13 22:49:08
605
原创 Kotlin转移assets至SD
启动页的背景是一个视频,这是一个非常吸引人的设计,尤其是首次打开,动态的效果会俘获用户。这就面临这一个问题:如何播放assets内的视频文件?
2017-12-27 22:29:19
1641
原创 IjkPlayer简要学习及应用
引言之前学习和使用过EXOPlayer,并结合Shared Elements效果在公司的项目中有应用。文章写的很烂直接看github代码吧!相比EXOPlayer,B站的IjkPlayer逼格很高,是基于ffmpeg开源的轻量级视频播放器支持Android&iOS。
2017-12-23 15:46:56
2905
原创 Kotlin中Application的实例写法
引言Context大家都不陌生,最先接触的使用应该就是startActivity。当有些代码需要复用抽离出来作为工具类方法的时候,Context从哪里来呢?(这里并不是讲Activity、Context、ApplicationContext等等这个家族之间剪不断理还乱的暧昧关系所以统称Context)
2017-12-16 21:12:36
8641
原创 LoopViewPager+LoopIndicator
公司有个需求要在引导页增加指示的动态效果,于是臆测着效果应该是这样: 结果我想多了根本不是这么回事,算了反正有这个想法就做一下试试,本想着只做LoopIndicator后面想了想,如果ViewPager无限滑动的话指引还会指示正确吗????于是乎LoopViewPager也就一起做了。下面是干货:主布局:<?xml version="1.0" encoding="utf-8"?><Frame
2017-08-16 22:21:11
463
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人