
Android
文章平均质量分 68
gowhereyouwant
天才就是重复次数最多的人
展开
-
Fastjson转换JSON数据,丢失字段问题
记录一个FastJson 很坑的问题当使用kotlin data class 构建实体类向后端post 请求发送json参数时,有个参数 isLast ,然后赋值,通过@post 传递给后端,通过抓包工具死活抓不到,本地打印类属性,却发现有值,但请求就是没有这个参数,很郁闷。通过一步步分析rretrofit 参数的传递,最后找到答案Fastjson转换JSON数据,丢失is问题当字段是布尔值且是IS开头时 通过fastjson 对象转json会出现数据丢失,字段不见了的情况,解决方案重写ge原创 2021-11-30 19:19:49 · 2098 阅读 · 0 评论 -
一些databinding 赋值小技巧
①dataBinding在xml文件是支持import,可以导入java支持的包,所以也就可以进行简单的运算,比如上面的xml中就用了三元运算符动态设置颜色android:textColor="@{user.vip? 0xffff0000:0xff000000}"当导入的用户是vip的时候,文本颜色会设置为红色,当不是vip的时候会显示黑色②而且支持java的字符串拼接android:text="@{user.nickName + `(` + user.name +`)`}"细心的网友肯定会原创 2020-05-20 16:04:21 · 3501 阅读 · 0 评论 -
Android根据图片的名字获取对应的资源ID
今天和小伙伴讨论的时候遇到一个问题,就是根据后台返回的值,app动态去设置图片,然后后台返回的值中有一个string, 例如v0,和我们图片名字的一部分相似,如img_v0,如何去动态设置呢,这里牵扯到一些东西,我们可以根据名字去找到对应资源的ID,从而动态设置资源,没有什么不可能方案一:利用getResources().getIdentifier(String name,String defType,String defPackage) 获取public int getResource(Stri原创 2020-05-14 12:16:45 · 1628 阅读 · 0 评论 -
约束布局ConstraintLayout用起来!!!
ConstraintLayoutt用起来相对定位角度定位边距居中和偏移尺寸约束宽高比链辅助特性1 Optimizer2 Barrier3GroupPlaceholderGuidelineGoogle其实很早就推出了约束布局,主要是为了减少布局嵌套,优化布局性能和渲染时间,同时又有一些丰富的属性,如角度定位,那么我们很有必要了解并去使用它。约束布局ConstraintLayout 是一个View...原创 2020-03-18 14:28:46 · 266 阅读 · 0 评论 -
Android内存优化(使用SparseArray和ArrayMap代替HashMap)
HashMap使用有限一维拉链数组存储结构,鉴于所用Entry结构{key, value, nextExtry},Key的hash值用于取余获得所属的数组行下标,通过链表方式顺序存放所有余数相同的各个Entry。该数组的每个存储单元被称为“桶”。取值时依据hash定位到行,再遍历链表定位key对应的Entry对象,并通过此方式解决哈希冲突问题。当 Entry总数据量 > 数组Lengt...原创 2019-06-04 18:06:45 · 224 阅读 · 0 评论 -
Android性能优化之 Android Lint
Lint简介Android lint是在ADT16提供的新工具,它是一个代码扫描工具,能够帮助我们识别资源、代码结构存在的问题。Lint有诸多优势:功能强大,Lint支持Java源文件、class文件、资源文件、Gradle等文件的检查。扩展性强,支持开发自定义Lint规则。配套工具完善,Android Studio、Android Gradle插件原生支持Lint工具。Lint专为...原创 2019-06-04 16:47:58 · 250 阅读 · 0 评论 -
总结自定义View的一些姿势
自定义View姿势onMeasure()onLayout()onDraw()onMeasure()onLayout()onDraw()谈谈对 MeasureSpec 的理解。measure() 过程中非常重要的 MeasureSpec。对于绝大多数人来说,都是知道 MeasureSpec 是一个 32 位的 int 类型。并且取了最前面的两位代表 Mode,后 30 位代表大小 Siz...原创 2019-06-10 22:52:36 · 135 阅读 · 0 评论 -
android后台执行定时任务(保活)&&使用AlarmManager的各种坑
最近有个需求,需要在android手机后台一直执行一个任务,有一定的时间间隔。目前方案有以下几种方式一:采用Handler的postDelayed(Runnable, long)方法 handler = new Handler(); runnable = new Runnable() { @Override public void run() ...原创 2019-06-13 18:01:15 · 16812 阅读 · 11 评论 -
adb命令查看app相关性能指标
adb命令知识学习APP启动相关adb查看启动时间adb查看应用包名和活动名adb杀死进程置于后台CPUadb 查看cpu 信息查看的应用进程的pid使用命令去获取该进程的流量APP启动相关APP启动大概分为冷启动和热启动冷启动 没有相关APP进程,APP首次启动,或者进程被杀死后再次启动。热启动 已经有相关APP进程,在用户按back或者home键回到桌面,再次启动a...原创 2019-05-31 13:53:32 · 2804 阅读 · 0 评论 -
ViewStub的使用!细节不会还去面试?
话不多说,直接来干货。当你有这样的需求时,可以考虑用到ViewStub一个界面需要根据用户权限或者某种条件去显示或者隐藏某个模块,一般来说我们会用到Visiblity,其中gone代表隐藏这个view,invisible也代表隐藏这个view,和前者区别是gone隐藏后view不占用位置,invisible还会占用位置。那么为什么要用ViewStub呢?因为即便你把View设置visibli...原创 2019-06-05 13:40:37 · 406 阅读 · 0 评论