- 博客(58)
- 资源 (1)
- 收藏
- 关注
原创 android 在 Activity 的 onCreate 中获取View 的宽高
view 的 post 执行时,首先会判断view 的 mAttatchInfo 是否为空,如果不为空,则将Runnable 添加到mAttachInfo.handler 的 UI线程MessageQueue 中;
2024-05-23 11:27:18
437
原创 ViewPager2 使用 FragmentStateAdapter 注意
一个Viewpager2 只设置一次setAdapter, 数据改变的时候调用notifyDataSetChange,不然fragment 不会调用销毁onDestroy方法,因为已添加的fragment 列表都在adapter 中缓存,如果设置新的adapter,那么就管理不到已添加的fragment 列表,就会在fragmentmanager mFragments 堆积!
2024-01-24 13:01:45
653
原创 HorizontalInterruptView 实现监听水平滑动事件
package com.tigo.tankemao.ui.widget;import android.content.Context;import android.util.AttributeSet;import android.view.MotionEvent;import android.view.VelocityTracker;import android.view.View;import android.view.ViewConfiguration;import android.v.
2021-05-15 12:05:06
156
原创 Android Handler 泄漏
Android Handler泄漏:1.新建匿名Handler内部类,默认引用外部的Activity2.new Handler实例,实例内部会引用当前线程(主线程)绑定的Looper,以及该Looper内部的MessageQueue,3.发送Message的时候,会发送到Message到创建Handler所在线程Looper的MessageQueue中,Message的target为发送的Handler,MessageQueue一直引用该Message,而Message又引用Han...
2020-09-02 11:44:24
172
原创 Atomic 测试
//atomicbooleanpackage com.huang.test.concurrent;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;import java.util.concurrent.TimeUnit;import java.util.concurre...
2018-10-10 16:41:01
418
原创 ForkjoinTask 测试
package com.huang.test.concurrent;import java.util.concurrent.*;/** * ForkJoin:分治处理问题。 */public class ForkJoinTest { public static void main(String[] args) { ForkJoinTest fjt = ne...
2018-10-10 16:37:36
268
原创 ConcurrentHashMap 测试
package com.huang.test.concurrent;import java.util.*;import java.util.concurrent.Callable;import java.util.concurrent.ConcurrentHashMap;import java.util.concurrent.ExecutorService;import java.u...
2018-10-10 10:39:39
441
原创 ConcurrentLinkedQueue 测试
package com.huang.test.concurrent;import java.util.concurrent.*;/** * ConcurrentLinkedQueue: * size 调用开销大,需要遍历整个队列,所以判断是不是空要用isEmpty,而不是size > 0 * offer添加元素至队列尾,poll从队列首移除元素, peek返回队列首元素 *...
2018-10-10 10:36:52
295
原创 Semaphore 测试
package com.huang.test.concurrent;import java.util.concurrent.Semaphore;/** * java 信号量测试, 通常是多个线程争抢有限资源的情况下的使用 */public class SemphoreTest { public static void main(String[] args) { ...
2018-10-09 14:37:18
247
原创 CyclicBarrier 测试
package com.huang.test.concurrent;import java.util.concurrent.BrokenBarrierException;import java.util.concurrent.CyclicBarrier;/** * 循环屏障,可重复使用。(当多个线程需要同一起跑线的情景的时候) * parties 为线程数。在所有的线程都执行到aw...
2018-10-09 14:36:31
195
原创 Countdownlatch 测试
package com.huang.test.concurrent;import java.util.concurrent.CountDownLatch;import java.util.concurrent.TimeUnit;/** * 倒计时测试,多个线程调用countdown,当countdown为0的时候执行后续操作(不可重复使用) */public class Coun...
2018-10-09 14:35:45
387
原创 java ReadWriteLock 测试
package com.huang.test.concurrent;import java.util.concurrent.locks.ReentrantLock;import java.util.concurrent.locks.ReentrantReadWriteLock;/** * readwritelock : * 读写、写写同时存在才会阻塞, 读读不会阻塞 */pub...
2018-10-09 11:12:51
196
原创 java Condition 测试
package com.huang.test.concurrent;import java.util.ArrayList;import java.util.concurrent.TimeUnit;import java.util.concurrent.locks.Condition;import java.util.concurrent.locks.ReentrantLock;/*...
2018-10-09 11:11:20
221
原创 ExecutorService 测试
package com.huang.test.concurrent;import java.security.PrivilegedAction;import java.security.PrivilegedExceptionAction;import java.util.*;import java.util.concurrent.*;import java.util.concurre...
2018-10-09 11:09:13
366
原创 ReentrantLock测试使用
package com.huang.test.concurrent;import java.util.ArrayList;import java.util.concurrent.Callable;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;import java.u...
2018-10-09 11:07:20
342
原创 JAVA自动装箱
//string 也适合装箱public class AutoBoxingUnBoxingTest { public void test() { //i1 i2 不同对象 Integer i1 = new Integer(1000000); Integer i2 = new Integer(1000000); /...
2018-09-29 12:11:55
192
原创 WeakHashMap 坑
WeakHashMap的可以不要用字符串常量,因为字符串常量是放在常量池中,程序运行期间是一直都在的,如果要用String作为key的话,可以用 new String()代替
2018-09-29 11:33:36
1518
1
原创 java 设计模式之责任链模式的几种写法
写法1:package com.huang.test.designmodel;/** * java 设计模式:责任链模式 */public class ChainOfResponsibilityPatternTest { public static final int LOG_CONSOLE = 1; public static final int LOG_ERRO...
2018-09-26 16:59:35
1034
原创 数据结构与算法 -- 二叉搜索树(java实现)
package com.huang.test.datastructure;import java.util.*;/** * 二叉搜索树 */abstract class BstData<T> { BstData<T> left; BstData<T> right; BstData<T> parent; ...
2018-09-21 11:35:08
313
原创 Android jni 创建线程
导入库:#include <thread>获取javavm并保存为全局变量:JavaVM *vm;env->GetJavaVM(&vm);GlobalConstants::vm = vm;线程执行的方法:void runThread(JNIEnv *env){ jint res = GlobalConstants::vm->At...
2018-08-29 16:20:07
502
原创 C++ 数组复制
分几种情况:1.字符数组使用strcpy2.int,float,double等数组使用memcpy,如复制一个长度为5 的 float数组,则代码示例如下int len = 5;float a[len] = {1.0 ,1.1, 1.2, 1.3, 1.4};float b[len];memset(b, 0, len*sizeof(float));memcpy(...
2018-08-23 17:03:41
43980
转载 C++类内存分布
本文转载自: https://www.cnblogs.com/jerry19880126/p/3616999.html书上类继承相关章节到这里就结束了,这里不妨说下C++内存分布结构,我们来看看编译器是怎么处理类成员内存分布的,特别是在继承、虚函数存在的情况下。工欲善其事,必先利其器,我们先用好Visual Studio工具,像下面这样一步一步来: 先选择左侧的C/...
2018-08-22 09:41:39
118
转载 解决华为手机不显示Log日志
转自:https://blog.youkuaiyun.com/liubo253/article/details/54615001 1)进入工程模式 有两种方式可以进入工程模式: a. 在拨号界面输入“*#*#2846579#*#*” b. 若是小米4.0系统(MIUI),进入“设置-->全部设置-->原厂设置-->工程模式” 2) 打开Lo...
2018-08-16 16:26:47
11513
原创 VMware Ubuntu创建共享文件夹
1.设置windows端共享文件夹目录2.Ubuntu安装VMware-Tools,设置光盘位置为VMware安装目录下的linux.so3.打开ubuntu虚拟机,VMware点击“虚拟机”菜单,点击安装VMware Tools, 在虚拟机中解压VMwareToos压缩文件,执行安装, (键入命令./vmware-install.pl ,等待安装成功)...
2018-06-30 14:42:34
1696
原创 Windows7下VMware虚拟机Ubuntu连接网络(NAT模式)
1.打开VMware 软件,点击菜单“编辑”, 选择“虚拟网络编辑器”,列表中看是否有类型为NAT模式的网络连接,如果没有添加一个2.右击所选虚拟机,点击“设置”,进行网路设置 ...
2018-06-30 12:32:47
505
转载 C语言栈区,堆区,全局区,文字常量区,程序代码区 详解
https://blog.youkuaiyun.com/yitian20000/article/details/6358837
2018-06-24 00:34:54
1538
原创 blocksDescendants 屏蔽子视图获取焦点
不让子视图获取焦点,就在其父布局加上此配置,即可解决android:descendantFocusability="blocksDescendants"
2018-06-07 12:02:21
1043
转载 cocos creator 编译通不过, 出现 The "android" command is deprecated.
新版android sdk tool 舍弃了android相关命令,而cocos creator 依赖此编译,故通不过。解决办法:旧版sdk tool 覆盖即可,参考以下链接解决:http://forum.cocos.com/t/creator1-4-1-android/45151
2017-04-25 22:02:22
6536
原创 javascript 菜鸟学习
javascript 格式可放在body和head内格式: 动态书写网页标签:document.write("这是一个标题");按钮点击提示:点我!javascript方法://放在head内function 方法名(参数){}根据id属性值查找元素x=document.getElementById("demo"); // 找到元素改变标签内容
2017-01-24 23:55:09
453
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人