分类目录归档:Android相关

Android上子线程处理UI更新内容方案

1.简述

子线程里面进行逻辑运算,较耗时(里面有数据采集、滤波、计算等),需要在结果完毕 后通知UI线程进行更新数据,展示给用户看。(实例demo:后台计算GPS测量跑步距离,UI上 显示跑步距离和提醒用户GPS的一些状态)

2.方案简述

新增加一个interface,这个interface里面进行,定义一个状态变更函数接口。 在业务处理里面,进行处理,也就是何时触发,何种操作,UI线程里面,进行刷新 展示内容。

2.1 接口定义
public interface GPSCalculateStatusListener {
    /**
     * 状态变更,通知处理(key value--

Read more

Android HandlerThread的使用

1.简述

HandlerThread继承自Thread的特殊线程,内置有Looper和MessageQueue。 区别于Handler,Handler是消息处理器,用于发送和处理Message和Runable。 HandlerThread是为特定场景(持续性后台任务)优化的线程实现。[备注:普通 线程如new Thread(),创建的线程,没有默认的Looper和MessageQueue,适合一次性 处理任务,无法直接处理消息循环]

2.HandlerThread作用

提供了一个独立的后台线程,专门用于处理耗时任务(如文件读写、网络请求)。 有效避免主线程执行耗时操作导致ANR(Applica

Read more

Android Handler的使用

1.描述

本文主要是快速记录一下Handler的使用,大体了解一下Handler类,使用该类监听来自其它线程的消息。 通过这种方式,实现类间的线程安全通信,尤其适合需要跨线程更新UI或者执行异步任务的场景。

2.流程

主要使用流程,创建Handler类,重写,调用。详细:

2.1 定义Handler类

在类中创建Handler实例,重写handleMessage方法

2.2 发送消息

其它线程通过该Handler发送消息

2.3 处理消息

Handler在其绑定的线程中调用handleMessage处理消息。

3.注意事项

在类中创建Handler本身不创建新线程,它只是用于在已有线程中处理消

Read more

Java上的builder机制

1.简述

Java的Builder机制,主要是将复杂对象的构建构建过程与其具体表示分离, 使得相同的构建流程可以创建不同的产品实例。Builder模式是一种创建型 设计模式,针对复杂对象构建,复杂对象主要表现:

1.1 多参数构造器

  • 问题1:参数顺序的混乱 比如:HttpParam(url, method, params, headers, timeout, cache)等等,顺序容易搞混。
  • 问题2:重载爆炸 为了支持可选参数,需要写多个重载构造器,比如,支持仅传递url, 仅传递url+method的... Builder方案,通过链式调用,明确参数含义,无需关心顺序,可以选参数进行设置
    H

Read more