android
文章平均质量分 62
yuanbingMobile
这个作者很懒,什么都没留下…
展开
-
序列化和反序列化(投稿赚钱)
序列化和反序列化(投稿赚钱)原创 2022-01-09 13:41:00 · 327 阅读 · 0 评论 -
Java 基本类型的长度
bit:位,一个二进制数据0或1,是1bitbyte:字节,存储空间的基本的单元,1byte=8bit一个英文占一个字节,1字母=1byte=8bit一个中文占两个字节,1汉字=2byte=16bitbyte:一个字节(8位)(-128~127)(-2的7次方到2的7次方-1)short:两个字节(16位)(-32768~32767)(-2的15次方到2的15次方-1)int:四个字节(32位)(一原创 2017-01-24 14:20:00 · 9834 阅读 · 0 评论 -
android studio常用快捷键
以下的快捷键都是在android studio default场景下Ctrl+方向箭,单词间跳 最近操作 Ctrl + E 最近修改 Ctrl+shift+E 查找类文件 Ctrl+n 查找文件 Ctrl+shift+n 移动行 alt+shift+方向 查找一个方法使用处 alt+F7 快速赋值行Ctrl+D 多行操作 alt+鼠标 方法体大括号增加,尾号分号增加,自动格式化换行原创 2017-01-24 15:30:08 · 204 阅读 · 0 评论 -
andoroid多进程模式
IPC,含义为进程间通信或者是跨进程通信,是指两个进程之间进行数据交换的过程,那么线程和进程之间有什么区别呢? 其实线程与进程是两个截然不同的概念,按照操作系统的概念,线程是CPU调度最小的单元,一个进程可以包含多个线程,因此进程和线程之间是包含和被包含的关系。 IPC不是android所独有的,任何一个操作系统都有不同的IPC机制,比如Windows中的剪切板,linux中的管道等等,对于an原创 2017-02-15 17:58:40 · 341 阅读 · 0 评论 -
垃圾收集器
1.Serial收集器: Serial收集器是最基本,发展历史最久的收集器,这个收集器是单线程的收集器,但是他的单线程的意义并不仅仅说明他只会使用一个CPU或一条收集线程去完成垃圾收集工作,更重要的是他进行垃圾收集时,必须暂停所有的工作线程,直到他收集结束,“stop the world”就是这个意思,他是由虚拟机在后台自动发起并自动完成的,在用户不可见的情况下,把用户的全部线程停掉,这对很多应用原创 2017-03-28 21:56:15 · 238 阅读 · 0 评论 -
垃圾收集算法
1:标记清除算法. 这个收集算法是最基础的算法,如同他的名字一样,算法分为“标记”和“清除”两个阶段,首先标记所有需要回收的对象,在标记完成之后,统一回收被标记的对象。之所以说他是最基础的算法,是因为后续的算法都是基于这种思路并对其不足进行改进。他的不足主要有两个方面,一个是效率的问题,标记和清除这两个过程的效率都不高,另一个方面是空间问题,标记清除之后会产生大量的不连续的内存碎片,空间碎片太多可原创 2017-03-25 18:17:42 · 280 阅读 · 0 评论 -
虚拟机加载时机
1:类加载的时机。 类从加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期包括: 从这个图中可以看出,虚拟机的加载顺序,其中加载,验证,准备,初始化和卸载的顺序的确定的,类的加载过程必须按照这个顺序开始,而解析就不一定。他可能在初始化阶段之后再开始,这是为了支持Java语言的运行时动态绑定设计的。那什么情况下需要进行类的加载呢?Java虚拟机并没有进行强制的规定。在虚拟机规范中原创 2017-06-01 16:03:31 · 364 阅读 · 0 评论 -
偏向锁,轻量级,重量级锁的理解
1:对象头 首先了解下32bit的Java对象头如下: 通过上面的表格,我们可以看出,synchronized用的锁是锁在Java对象头中的,Java的每个对象都可以作为锁,具体表现为下面三种方式: a:对于普通的方法,锁是当前的实例 b:对于静态方法,锁是当前类的Class对象 c:对于同步方法块,锁是Synchronized括号中配置的对象从JVM规范中看出,同步代码块原创 2017-06-21 11:34:41 · 947 阅读 · 0 评论 -
android与js的交互
最近比较忙,同时也一直都在做关于android与js分享的准备,今天这篇文章主要是为了记录这段时间,对android与js的交互做的研究。 1:讲讲为什么要有js与android之间的交互随着科技的快速发展,很多公司都会对移动产品进行快速的迭代开发,降低开发的成本,来适应市场的需求。有人说js会替代android原生的应用,因为js的跨平台,前端只要通...原创 2018-11-18 14:00:41 · 6710 阅读 · 0 评论 -
Java 动态代理学习小结
最近由于闲来无事,看了一下动态代理的Java实现,现在在这边记录一下首先我常见了一个demo类class MyInvocationHandler implements InvocationHandler{ // 目标对象 private Object target; /** * 构造方法 * @param target 目标对象 *...原创 2019-01-13 15:02:17 · 142 阅读 · 0 评论 -
Java注解
1: 注解是JDK1.5以后引入的新特征,它的引入意义很大,有非常有名的框架,比如说Spring,Hibernate等框架中都大量的用到了注解,注解作为程序的元数据嵌入到程序中,它可以被解析工具或者编译 工具解析。 Annotation能被用来为程序的元素(类,方法,成员变量)设置元数据,它的执行并不影响程序代码的执行,无论删除还是增加注解,代码都始终如一的执行,如果...原创 2019-01-15 15:16:47 · 92 阅读 · 0 评论 -
android 创建 plugin
Android studio 创建 Android plugin 小记1:首先创建一个Android项目2:创建了一个module,我这边创建的是library,取名叫做plugins,删除了里面所有的内容,只剩下build.gradle,还是就是gitignore和imi文件,3:新建了src/main下面的文件,最后新建了一个Myplugin文件,刚开始时候Androidstu...原创 2019-05-09 13:48:49 · 1041 阅读 · 0 评论 -
插桩场景和几种方式
编译插桩学习小计1:编译插桩的场景 编译插桩的技术很好玩,同时学会这项操作,可以随心所欲的控制代码,满足不同场景的需求,比如butterKnife,Dagger这些注解生成的框架,代码隔离了复杂的内部实现,让开发可以更加简单和搞笑,减少手工重复工作的劳动力,同时降低了出错的可能性。a:代码监控:我们可以通过插桩技术实现各种各样的性能监控,比如trace的监控b:代码修改:我...原创 2019-05-09 18:01:01 · 3917 阅读 · 0 评论 -
包体积优化小计
1:不要过度Proguard,组件也可以Produard,但是要排除export的组件,同时需要替换变量(比如activity-->a,在变量中定义了次activity)的情况。2:去掉debug信息或者行号,Proguard会通过这个信息保存行号 -keepattribute SourceFile, LineNumberTable3:dex分包,跨dex会有调用的详细的信...原创 2019-05-14 18:42:38 · 195 阅读 · 0 评论 -
反转部分单向链表
1:题目给定一个单向链表的头节点head,以及两个整数from和to,在单项链表上把第from个节点到to个节点的这一部分进行反转。例如:1->2->3->4->5->null from=2,to=4调整结果为1->4->3->2->5->null再如1->2->3->null from=1,to...原创 2019-06-18 15:14:09 · 1240 阅读 · 0 评论 -
算法学习
如果你觉得你的算法需要提高,那就关注每日一算法公众号吧,一群有相同爱好的小伙伴,可以投稿,一起进步,永远保持学习的状态。原创 2019-06-18 20:37:35 · 142 阅读 · 0 评论 -
子数组的最大累加和问题
1:题目给定一个数组array,返回子数组的最大的累加和。举例说明:若array=[1,3,-6,5,7,-4],所有的子数组中,[5,7]可以累加出最大的和是12,所以返回122:要求a:时间复杂度为O(n),空间复杂度为O(1)3:解答1):如果array全是负数,那么产生的最大累加和一定是数组中的最大的那个值。2):如果array全是正数,那么产生...原创 2019-07-30 20:02:26 · 1718 阅读 · 1 评论 -
leetcode 算法 学习
2019算法 leetcode 学习之路Java双亲委派模型详细聊聊Java的动态代理Android中bitmap的详细总结跳跃游戏你要来试试吗40亿个非负整数中找到没有出现的数40亿个非负整数中找到没有出现的数进阶获取数组中最长的连续序列你理解这些算法吗?一起来温故下这些算法了吧?删除无序单链表中重复出现的节点最详细的判断一个点是否在矩形内部详细的...原创 2019-08-05 21:45:24 · 218 阅读 · 0 评论 -
android support_v4遇到的问题
support-v4包问题总结转至元数据结尾Created and last modified by 竺欢焕 on 十一月 10, 2016转至元数据起始原因:接到测试的通知,B端的“增值资质”界面内选取图片后,图片不显示。 排查经过:本地打包,测试是正常的;安装线上包,问题复现原创 2017-01-22 10:46:09 · 324 阅读 · 0 评论 -
Material Design之CardView与RecyclerView
最近一直在看material design,在这里记录一下,当我们使用material design的时候,首先需要在build.gradle中引入cardView与recyclerView的jar包,当然如果你的项目小于 Android 5.0 (API level 21)的话,也要引入appcompat包,即如下所示。当我们引入这样的jar包之后,我们就可以使用material design的c原创 2016-04-26 21:21:24 · 591 阅读 · 0 评论 -
ProgressBar自定义图片拉伸的问题
今天在公司写一个下拉刷新的控件时,遇到的问题,在这里记录一下, 当时的想要的效果是这样的 刷新控件里面的跳动图片刚好是图片的宽度,但是在写好测试过的过程中,测试时的结果是这样的,他会把一行都用图片沾满,因为我当时的布局是这样子的, 和 如果这样子写的话,我原来的图片就被拉伸了 ,拉伸的结果就是在宽度上沾满了整个屏幕, 后来百思也不知道原因,看了源码之后,才有点感悟,我们来看下原创 2016-05-14 19:59:55 · 1127 阅读 · 0 评论 -
自定义 remoteView
今天在写remoteView的时候,想写一个自定义的通知栏,刚开始是这么写的, 后来改成这个,变成自定义的布局, 但是报了这么一个错误,android.app.RemoteServiceException: Bad notification posted from package com.example.user.text: Couldn’t expand RemoteViews for: St原创 2016-05-05 22:35:42 · 2001 阅读 · 0 评论 -
TextView selector
今天上来是想记录一下我的开发中遇到的问题,我经常遇到这样的问题,就是不知道为什么,所以在这里总结下, 直接上遇到的问题,刚开始是这样的, 可以看出在没有enable的时候是灰色边框和文本,在enable的时候是红色边框和文本, 但是在enable的时候红的边框就是显示不出来,一直显示的是灰色。 最后selector换成了这样, 就正常了,我遇到这样的问题好几次,以后就在这边总结下,看看原创 2016-11-04 18:15:06 · 248 阅读 · 0 评论 -
OnGlobalLayoutListener layout疑问
今天在写业务的时候,遇到这样一个需求, 其实这个需求很常见,就是1,2,3这三块是连在一块移动的,当2到达屏幕顶部的时候,让他悬浮在最顶部,刚开始的思路就是写两个相同的2的布局,当2到达顶部的时候,当另外一块显示出来,这样就达到了看起来悬浮在顶部的效果,但这样的缺点就是2的有好多个点击事件,这些点击事件都要重复设置两次,比较麻烦,而我想到的一种方法是 1:当没有到达顶部的时候,我把2这块地方布局原创 2016-10-21 05:54:14 · 4214 阅读 · 0 评论 -
如何打aar包
最近一直很忙,又过了好长的时间,感觉好久没有来写博客了,今天主要讲的是如何打aar包 首先来看下项目的结构: 1:我们定义了QccrLocation这样一个工程,依赖与qccr_baidu_maps这样一个model,2:因为我们只要使用百度定位和导航,所以我这里只用了BaiduLBS_Android.jar和armeabi包首先讲下我遇到的问题,当时在配置好之后,死活都出不来百度地图,key也原创 2016-11-30 20:01:46 · 2636 阅读 · 1 评论 -
listener之内存泄漏
之所以写这个,是因为最近公司的app老报oom,所以为了解决这个问题,专门研究了Mat以下这种情况,可能会导致oom刚开始我在QccrLocation这个类中定义了一个接口,在其他的地方实现了这个接口,当需要定位的时候,我把实现了这个接口的对象传了进来然后定位完成后把经纬度返回,这样返回,一切看似正常,但是我再去查看Mat的时候,是这样的就是说退出之后还有对QccrLocation的引用,这可能会导原创 2016-11-30 22:49:16 · 2762 阅读 · 0 评论 -
内存泄漏检查
首先我们看下在多次进入门店详情之后退出到门店列表,导出hprof文件可以看到StoreDetailActivity_v3有14个对象,自身的堆大小是8288,引用其他的总的大小是112976,,那为什么在退出之后还会存在14个实例,肯定是其他的对象有对其的引用,导致其不能回收,我们选中StoreDetailActivity_v3,右击选择 得到了如下的结果原创 2016-12-01 11:51:03 · 196 阅读 · 0 评论 -
aar打包和用aar打apk包的混淆问题
一下混淆都已百度定位的aar为例 1:首先我们看下打成aar包后的混淆的文件 在这里除了@keep的之外,可以看到全部都被混淆 接下来看打成apk反编译出来的文件通过对比,可以看到 1:打包生成的apk的文件进行了第二次混淆 2:第一次的类名可能和第二次的类名不相同 3:内部类都会被抽取出来 4:资源文件的引用也被打包进来 5:局部变量也会命名改变接下来我们来分析下百度的类的混淆情况原创 2016-12-02 13:42:51 · 5915 阅读 · 2 评论 -
OOM
在android测试的时候,老发生oom,原来是头部的图片太多的缘故, 我们的头部由50张小图片组成的gif,所以刷几次就会oom,解决的办法: 请在destory中消除对图片的引用。原创 2016-11-20 20:36:40 · 295 阅读 · 0 评论 -
RxJava源码之merge
今天我们主要讲的是RxJava之merge,首先我们来看一个demo,如下图大家先可以想一下,当运行以上代码的时候,最后打印出来的内容是什么?????有些人会情不自禁的说,一个bookList,一个111,两个Oncomplete,哈哈,如果真的是这样的话,我就不问大家了。那我们来看下打印的结果,如下图:有人可能会有疑问,为什么就打印了一个O原创 2016-12-05 20:19:42 · 963 阅读 · 0 评论 -
oom
OOM(内存溢出)情况一处理bitmap资源不得当造成(压缩或者变换得到新bitmap)解决方案采用try catch处理方式,若出现异常再做压缩,期间采用弱引用方式处理。 example: WeakReferenceBitmap> bitmapWeakReference; // First decode with inJust转载 2016-12-09 13:42:14 · 240 阅读 · 0 评论 -
文章标题
今天遇到的picasso的坑,在这里记录一下,首先说明我用的是android5.0以上的版本 首先来呈现下遇到的bug 这是recyclerView,但是部分图片就是显示不出来,代码是这样子的: 你那边可能因为图片太大也会显示不出来。但是如果把resize去掉,那么picasso就会去load一整个图片,这么多张的图片,每张图片又那么大,势必会load很慢,的确,事实真的是这样的。 那么原创 2016-12-30 21:53:38 · 222 阅读 · 0 评论 -
Android源码之ArrayList
今天是上班后的第一天,由于项目正在测试阶段,比较空闲,所以研究了一下Android中的ArrayList源码,先说明本篇文章是基于android-23进行的分析,因为我看到网上很多的arrayList源码和我看到的android源码不一样。首先我们看下Java集合框架中的继承图。 由于今天主要讲的是ArrayList,以后的类我会在以后一一分析。那现在就开始我们今天的源码阅读。1:我们都知道arr原创 2017-02-06 19:10:43 · 623 阅读 · 0 评论 -
http握手详解
现在这个社会,我们都离不开网络,那么网络的工作流程是怎么样的呢?从http发起请求到完成请求,网络到底给我们做了什么事情? 今天我们主要来分析下http请求的过程: 在Http工作之前,Web浏览器通过网络和Web服务器建立链连接,该连接是通过Tcp来完成的,该协议和Ip共同组成了Internet,即著名的Tcp/Ip协议族,因此Internet也被称为Tcp/Ip网络,Http是比Tcp更高的原创 2017-02-17 18:16:15 · 8039 阅读 · 0 评论 -
android组件化思考
android发展到今天,虽然说很多的业务逻辑都会放在服务端处理,但是随着功能的增加,app的体积还是会越来越大,有时候连自己都觉得各个模块间的相互依赖太多,比如说我们有订单模块,购物车模块,门店模块,个人中心模块等等,相互之间都会有依赖。 以前我们的模块是这样的: 上面这个图是做过androd的程序员最熟悉不过的工程了,所有的java文件都写在同一个app模块下。 那么下面我们再来看下现原创 2017-02-11 16:20:52 · 3746 阅读 · 1 评论 -
android 多个EditText光标的问题
多个EditText光标的问题 最近公司有个需求,就是多个EditText,当点击下一个EditText的时候,若上一个EditText的内容输错,我们需要清空当前的输入的EditText,但是当我们调用requestFocus的时候,就会发现两个EditText都会有光标在闪,产生原因的代码如下 这个就是当时光标同时闪烁的问题, 思考了好长时间,也没有想出具体的原因,后来使用了另一种方式原创 2016-04-26 20:48:56 · 3578 阅读 · 0 评论