自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 资源 (1)
  • 收藏
  • 关注

原创 推荐一个在线计算开源模型token数的网站

还在苦恼要如何计算开源模型的token数?想要在线计算token数?

2024-02-20 15:31:37 576

原创 [大白装逼]自定义YCardLayout

屁话不多说,先上个效果图先 将此控件放到RecyclerView中,并自定义LayoutManager可以有这样的效果 github:https://github.com/lewis-v/YCardLayout使用方式添加依赖Add it in your root build.gradle at the end of repositories: allp...

2018-03-17 17:50:24 737

原创 android ASM的使用demo

ASM的使用git:https://github.com/lewis-v/AsmDemo使用步骤建立子模块名字随意修改子模块gradleplugins { id 'kotlin' id 'groovy' id 'maven'}//定义资源位置sourceSets { main { groovy { srcDir 'src/main/groovy' } java {

2021-02-20 10:51:41 1248

原创 GradualFlash-渐变/闪光效果控件

前言平时做需求的时候,我们经常会遇到渐变效果的开发,有时候渐变还是带着动画的,那么开发的时候,简单的做法是写一个textView,设置他的paint,paint中设置的渐变的shader.这方式虽然简单,但是如果实在其他控件上也要有渐变,那就都要重新开发一次了.后来看到了facebook的shimmer,这个控件可以很好解决这个问题,而且效果也是我们需要的效果.对此仿造了一个GradualFlash,效果类似,只是增加多了方法和显示效果设置.git链接引入:```implementation '

2020-07-27 18:34:01 164

原创 Android图片选择,jsb调用图片选择及裁剪压缩(含demo)

前言最近有人来跟我要android的图片选择demo,而且需要将选择结果回调给web.虽然这个功能在好久以前做过,但是在这次重写的时候,发现很多东西都不太一样了,例如以前使用的图片选择框架PhotoPicker现在没有维护的,推荐了一个知乎的图片选择Matisse.先说说传给web的方案,demo中由于没有服务器交互,所以回将选择好的图片转换成base64字符串,通过jsb传给web,这种方案在一些小图选择的情况下非常常见,但也有一定的弊端,这个在最后就给出修改建议.demo工程:https://gi

2020-06-24 14:48:30 334

原创 设计模式-面向对象基本原则之面向肾亏编程

前言在我们日常的开发中,经常会遇到产品改需求、业务升级、删除业务等等,就像传说的朝三暮四(产品早上提了3个需求,下班就要验收四个),这时候我们就不能和产品讲道理,不能硬刚产品,毕竟刚了一天后,产品的需求定下来了,你的代码却一点都没动。所以在写代码的时候,我们需要提高我们代码的可扩展性、可维护性、低耦合,所以这也是我们需要学习设计模式的原因。当然,我们需要知道机器是不需要什么设计模式的,它们只需要0和1,所以设计模式要以人为本,我们的目的是团队合作、产品升级。那么怎么样才算设计模式呢,在面向对象中有六大基

2020-05-31 15:51:36 113

原创 java提供的map

hashMap先说明hashmap是线程不安全的参考此链接:http://www.importnew.com/20386.htmlhashMap内部的实现比list复杂好多,内部是有数组加链表的形式存储的,而put的键值的hashCode值的低位计算值为其存储在数组的下标,而数组里指向的是一个链表,链表中存的是真正的数据,这里的hashCode低位计算值可能会相等,相等时就会遍历数组指向的这个链表的各个键值,判断键值是不是一样,一样就覆盖,不一样就要添加到此链表中,每次扩为原大小的2倍,这里为什么两倍

2020-05-31 10:45:25 99

原创 java提供的list

ArrayList其内部使用Object[]数组来存储,默认长度为10,一次增长为原长度的1.5倍,当1.5倍超过int的最大值时为int的最大值,再大一点就报错OOMArrayList在add元素时,先检测容量是否够add,不够就扩容1.5倍,然后将元素加入数组中,长度+1,这里为做多线程的并发处理,在多线程进行添加时,可能出现一起扩容,或同时将元素加到一个位置上,导致异常或数据丢失.public boolean add(E e) { ensureCapacityInternal(s

2020-05-31 10:41:51 85

原创 Android AppCompatActivity

简述在很久很久以前,android的activity时继承Activity的,但在后来却改成了AppCompatActivity,那AppCompatActivity是什么呢?继承他有什么用呢?其实他最主要的工作是5.0之后的View兼容和页面主题相关处理,例如AppCompatTextView之类的内部都是有兼容操作的,而继承AppCompatActivity后,其会在内部将TextView...

2020-02-03 11:29:09 2015

原创 Android移动性能实战 汇总

磁盘写入放大磁盘一页为4k,一块为128页有的是64页。在ssd删除一页数据时,会将其标记为删除,并不会真正的删除,所以数据才有恢复一说。在下次写入到这页的时候才会进行删除,但是ssd的最小删除单位是块,所以就造成了写入放大。在一个新的ssd中是很小几率出现写入放大的,但使用时间长了,ssd中的页都被使用过了就很容易出现。写入放大的过程写入4k数据检查到写入ssd的这一块数据满了但是...

2020-02-03 11:01:35 353

原创 java的锁

前言java并发是多线程开发中经常遇到的问题,对并发的处理,java提供了一系列的方法.机制,其中锁是其中的一个,synchronized是最常用的,而java除了synchronized同步,还有其他的同步锁,其他的可以完成其他不同的需求,以下就来说说java提供的一些锁吧~~ReentrantLock显示锁,可有多个条件锁,并可对某个条件进行唤醒,其中lock.newCondition(...

2018-10-28 15:49:35 371

原创 [大白装逼]从java转向kotlin的学习笔记

前言以前android的开发大部分使用java开发,而由于kotlin的推出,公司也开始转向了使用kotlin,所以在这里记录下学习kotlin的笔记.基本语法基本类型在kotlin中没有基本类型,其中一切都是对象,这也导致了其没有自动转换类型的功能,如folat不会自动上转为double之类的,而在java的基础类型之间转换需要调用其中的方法,虽然在本文中,多出地方使用了关键...

2018-07-22 11:20:25 800 3

原创 [大白装逼]java阻塞队列

2018-05-09 11:24:37 461

原创 [大白装逼]Android好多好多的Drawable

前言Android中提供了很多的Drawable,一般我们都是用来当做背景的,其实他还有很多其他的用途….有什么Drawable?bitmapDrawable ShapeDrawable LayerDrawable StateListDrawable LevelListDrawable TransitionDrawable InsetDrawable ScaleDra...

2018-05-09 10:27:16 462

原创 [大白装逼]YEventBus事件总线的实现

Y事件总线:基于java的Observe和Observable实现的事件总线 github地址:https://github.com/lewis-v/YEventBus使用方式导入依赖Add it in your root build.gradle at the end of repositories: allprojects { reposit...

2018-03-25 11:57:09 1576

原创 [小白装逼] Android Gradle学习笔记

gradle使用的脚本语言是Groovy,Groovy完全兼容javaDSLDSL的意思是领域特定语言,即专注于一个领域的语言,而像java是一种通用全面的语言,而Gradle就是一门DSL,基于Groovy,专注于自动化构建.基本用法def 用于参数/方法的定义,定义可不用定义返回类型 << 此符号队伍任务来说相当于doLast,将任务放到任务队列的队尾执行...

2018-03-17 13:42:48 682

原创 [小白装逼]Android 语音录制及播放的处理---AudioH

AudioHAndroid 语音录制及播放的处理,基于MediaPlayer(播放) 和MediaRecorder (录制)github地址:https://github.com/lewis-v/AudioH实现功能1.实现Android语音录制的功能(目前封装只支持AMR格式);2.实现Android语音播放功能(听筒和扬声器播放);3.实现语音播放中,网络语音的缓存;...

2018-03-12 08:50:07 1526 1

原创 [小白装逼] 滚动广告栏,自动滚动ViewPager--FlowView

前言好久都没时间写博客了,我都忘了博客是什么样的了,这次刚好找了点时间回来写写,刚好把最近做的东西来分享给有需要的人~~这次带来的时自动滚动的ViewPager,并且将封装了小圆点功能FlowView轮播ViewPager 此控件对ViewPager循环轮播的实现进行封装,适用于一种View轮播及多种不同的View一起轮播,功能可能还有不完善的地方,后期会逐步完善使用方法

2018-02-01 23:12:19 713

原创 [小白装逼]Android图像处理(压缩+裁剪+图片选择)内附DEMO

在安卓的开发中肯定避免不了对图像的处理,图像的处理最大的问题就是会出现OOM,为了找到一个更好效率更高的图形处理框架,本小白试了几个开源框架,最后剩下这些个人认为比较好用的~~~

2017-09-04 16:13:21 2637

原创 小白装逼:崩溃信息ACRA

由于本人小白一个,所以在项目中会经常出现程序崩溃的情况,要是在调试的时候出现还好,可以直接看报错的信息,但是有时候不在调试的情况下,或者给别人测试的情况下,出现崩溃但又不知道其原因,这对程序的维护就增加的很多困难,所以我在项目中使用了ACRA的崩溃反馈框架,可以说贼好用~~

2017-08-06 16:21:37 930 2

原创 小白装逼:使用rxjava代替eventBus

接着之前说的rxjava代替eventBus的,现在大部分的项目都有使用retrofit+rxjava,所以为了方便,基本都是直接使用rxjava来代替eventbus事件总线导入包 compile 'io.reactivex:rxandroid:1.1.0' compile 'com.squareup.retrofit2:adapter-rxjava:2.0.1'或者 compil

2017-08-06 15:12:43 3434

原创 小白装逼:Android retrofit2+rxjava

本人小白,最近接触了安卓的网络框架,特来此装逼,有误导之处,请及时指出,谢谢!首先说下retrofit这个东西,之前不知道有这东西,所以网络请求都是直接用socket来写,后来才知道有okhttp3,用了下发现有点复杂,就找到了retrofit2,个人感觉这个网络框架还是挺好用的而且用起来方便简洁,当然他的底层也是基于okhttp,最底层也是使用socket这东西。

2017-07-29 14:10:08 768

Android图像处理(压缩+裁剪+图片选择)

在安卓的开发中肯定避免不了对图像的处理,图像的处理最大的问题就是会出现OOM,为了找到一个更好效率更高的图形处理框架,本小白试了几个开源框架,最后剩下这些个人认为比较好用的~~~

2017-09-04

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除