软件开发
wangpingtaohn
这个作者很懒,什么都没留下…
展开
-
RecyclerView ItemTouchHelper 的使用和遇到的问题
1.相信RecyclerViewItemTouchHelper接触过的都知道,它的主要作用是对item进行拖拽重新排序,或滑动删除,如图:https://images2015.cnblogs.com/blog/824232/201703/824232-20170313114715120-1816490674.gif这里了主要记录遇到的一个坑,就是每次只能拖拽一次,不能连续的拖拽。研究到...原创 2020-01-10 23:35:13 · 884 阅读 · 0 评论 -
浅谈Java四种线程池newCachedThreadPool,newFixedThreadPool,newScheduledThreadPool,newSingleThreadExecutor
浅谈Java四种线程池newCachedThreadPool,newFixedThreadPool,newScheduledThreadPool,newSingleThreadExecutor平时开发过程中,对于线程池的使用,很多都是经过封装好的工具类,使用的时候直接简单的调用即可,有时却没有深入研究封装类里面已经源码的实现,所以这里记录下java四种线程池各自的区别与用法。最常见的线程使原创 2017-04-22 21:53:54 · 2835 阅读 · 0 评论 -
实例代码分析cloneable的使用
分析之前先了解两个概念1.浅拷贝 什么是浅拷贝 浅拷贝是按位拷贝对象,它会创建一个新对象,这个对象有着原始对象属性值的一份精确拷贝。如果属性是基本类型,拷贝的就是基本类型的值;如果属性是内存地址(引用类型),拷贝的就是内存地址 ,因此如果其中一个对象改变了这个地址,就会影响到另一个对象 如图: SourceObject有一个int类型的属性 "field1"原创 2017-05-11 22:48:51 · 360 阅读 · 0 评论 -
Android Studio修改编译apk名称
在module的build.gradle的android{}里添加如下代码即可android.applicationVariants.all { variant -> variant.outputs.each { output -> output.outputFile = new File(output.outputFile.parent, "xxx.apk" );原创 2017-07-13 15:57:38 · 1043 阅读 · 0 评论 -
Android onTouchEvent,dispatchTouchEvent,onInterceptTouchEvent分析
本文主要通过先demo分析讲解 onTouchEvent,dispatchTouchEvent,onInterceptTouchEvent这三者在事件点击过程中的处理关系。demo分别自定义一个TextView(View),LinearLayout(ViewGroup)自定义LinearLayout,并且复写以上三个方法,打印logpublic class MyLinearLayout exten原创 2017-06-14 15:46:59 · 562 阅读 · 0 评论 -
从内存角度去分析String s1= "abc"与String s2 = new String("abc")的问题
相信大家经常见到这样的问题:String s1 = "abc";String s2 = new String("acb");两者有什么区别?下面我将用内存分配的角度去分析这个问题,一般它们所设计的内存区有三个,分别是栈,堆,常量池当执行String s1 = "acb"时,首先它会在栈里创建一个s1的引用,然后再去常量池里查有“abc”这个字符串,如果有,则执行指向它,若没有则原创 2017-04-29 22:39:15 · 3626 阅读 · 1 评论