- 博客(8)
- 资源 (1)
- 收藏
- 关注
原创 多线程之线程池
文章目录1、为什么要用线程池2、线程池工作原理分析2.1 线程池工作原理2.2 线程池结构2.3 线程池的几种状态2.4 参数分析3、创建线程池3.1 newSingleThreadExecutor3.2 newCachedThreadPool3.3 newFixedThreadPool3.4 newScheduledThreadPool1、为什么要用线程池1、线程的创建需要开辟虚拟机栈、本地方法栈、程序计数器等线程私有的内存空间;2、在销毁时需要回收这些系统资源,通过复用已有线程可以更好地管理和协
2021-05-04 14:19:14
299
原创 Handler之实现倒计时功能
1、需求1.1 实现目标当后台传递一个时间戳时,与当前系统时间做时间差,并转换为时分秒,作为商品活动的倒计时;如下图所示:1.2 实现步骤自定义View1、实现倒计时功能,封装成方法;2、初始化倒计时功能,及布局文件;3、通过Handler中的post()或sendMessage()方法向主线程传递消息,不对刷新UI;4、对外暴露一个方法,接收后台传入的时间戳;在Activity中实现通过自定义View中的方法,接收时间戳;2、封装成自定义view2.1
2021-04-20 11:18:03
894
原创 Android本地存储SharedPreferences
1、SharedPreferences详解1.1 什么是SharedPreferences它是一个轻量级应用程序内部轻量级的存储方案,特别适合用于保存软件配置参数:比如,boolean,int , float ,long, String等数据。使用SP保存数据,其实质是采用了xml文件存放数据,路径为:/data/data//shared_prefs;程序卸载后也会一并清除,不会残留信息;1.2 获取SharedPreferences的三种方式调用Context对象的getSharedPr
2021-04-16 00:20:01
315
原创 Android事件传递(一)
文章目录1、事件的定义1.1 DOWN事件的特殊性1.2 事件分发2、事件分发详解2.1 事件分发--Activity2.2事件分发--- ViewGroup2.3 事件分发— View2.4 总结:3、事件传递测试3.1 正常事件传递过程3.2 ViewGroup中onInterceptTouchEvent()为true时3.3 当ViewGroup中onInterceptTouchEvent拦截MOVE事件时1、事件的定义定义:当用户触摸屏幕时,将产生的触摸行为(Touch事件);事件的类型,
2021-04-08 10:15:57
258
原创 Android之基础控件(一)
1、控件常用属性及属性值2、基础控件2.1 TextViewTextView继承关系对长文进行显示处理在value目录下,strings.xml文件中,添加长文本内容:文本内容在.xml文件中设置长文本的属性2.1android:lineSpacingMultiplier=“2”:设置倍距(x倍行距)2.2 android:lineSpacingExtra=“15sp”:设置行距2.3 android:singleLine=“true”:显示1行2.4 android:ell
2021-03-11 14:39:20
86
原创 Fragment详细解析
1、Fragment定义应用界面中可重复使用的一部分,可以理解为模块化的Activity。1.1 与Activity的关系1.Fragment不能独立存在,必须嵌入到Activity中;2. 一个Activity可以运行多个Fragment;3. Activity是屏幕的主题,而Fragment是Activity的一个组成元素;4. Fragment有自己的生命周期,接受它自己的事件,并可以在Activity运行时被添加或删除;5.Fragment的生命周期受Activity生命周期的影响。
2021-03-08 00:14:53
1884
原创 Android线程间消息传递Handler、Looper、MessageQueue
1、Handler作用主要场景是子线程完成耗时操作的过程中,通过Handler向主线程发送消息Message,用来刷新UI界面。2、源码分析2.1 Handler源码 final Looper mLooper; final MessageQueue mQueue; //Handler无参构造方法 public Handler() { this(null, false); } public Handler(Callback callback
2021-03-05 18:56:37
528
原创 设计模式之单例模式(Singleton Pattern)
1、什么是单例模式单例模式用来创建独一无二的,只能有一个实例对象的设计模式;单例模式有什么用处,有一些对象,如线程池(threadpool)、缓存(cache)、对话框、处理偏好设置和注册表的对象、日志对象,充当打印机、显卡等设备的驱动程序的对象,我们只需要一个。2、代码实现2.1 饿汉模式public class Singleton { //利用一个静态变量来记录Singleton类的唯一实例,并初始化 private static Singleton unqueInstance=
2021-02-20 10:25:08
83
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人