自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(7)
  • 收藏
  • 关注

原创 记录View的曝光(被浏览)次数

分两种场景考虑:场景一描述:父View是一个RecyclerView,记录其子View被浏览次次数思路:实现:1. 监听recylerview的滚动事件public class ViewShowCountUtils { //刚进入列表时统计当前屏幕可见views private boolean isFirstVisible = true; //用于统计曝光量的map private Map<String, Integer&..

2022-02-12 16:45:48 1180

原创 监听app切入后台

1 Home key/ Recent Apps如果只是监听Home Key / Recent Apps,可以通过注册广播接收器来实现。因为在当前操作下app进入后台是由系统发出的关闭窗口的动作→广播接收器public class CustomReceiver extends BroadcastReceiver { private static final String LOG_TAG = "HomeReceiver"; private static final String.

2022-01-19 13:19:12 2186

原创 常用开源框架

OkHttp1、execute和enqueueexecute是同步请求,enqueue是异步请求,请求后返回的结果都是在子线程中,需要对UI操作的化,需要用Handler处理new Thread(new Runnanble(){ @override public void run(){ Request request = new Request.Builder() .url("http://publicobject.com/hellowo

2021-10-20 16:20:57 650

原创 Android的消息机制

Handler在多线程的应用场景中,将工作线程中需更新UI的操作信息 传递到UI主线程,从而实现 工作线程对UI的更新处理,最终实现异步消息的处理。多个线程并发更新UI的同时 保证线程安全相关概念&源码解析(1)Looper循环器,从消息队列中取出消息,并分发给对应的Handler处理有两种创建方法,Loop(2)Message 消息,线程间通信的数据单元,即Handler发送和处理的对象(3)MessageQueue 消息队列,存储Handler发送过来的消息,是一个单..

2021-10-13 10:54:26 80

原创 IPC 进程间通信

线程与进程进程是操作系统进行资源分配和调度的最小单位,能独立运行。线程是CPU调度的最小单位,运行在进程中。一个进程至少有一个线程,可以有多个线程(进程是资源分配的最小单位,线程是程序执行的最小单位)做个简单的比喻:进程=火车,线程=车厢线程在进程下行进(单纯的车厢无法运行) 一个进程可以包含多个线程(一辆火车可以有多个车厢) 不同进程间数据很难共享(一辆火车上的乘客很难换到另外一辆火车,比如站点换乘) 同一进程下不同线程间数据很易共享(A车厢换到B车厢很容易) 进程要比线程消耗更多

2021-10-12 20:50:24 98

原创 面试基础之 —— View的事件体系

Activity生命周期1、dialog会不会影响Activity生命周期Dialog弹出时是不会影响Activity生命周期的,Activity也就不会进入所谓的onPause状态。所谓的可见状态下进入onPause其实说的是透明背景的Activity或者是Dialog主题的Activity弹出来的时候,那么前一个页面确实会调用onPause方法我们知道,生命周期回调都是 AMS 通过 Binder 通知应用进程调用的;而弹出 Dialog、Toast、PopupWindow 本质上都直.

2021-10-11 17:56:43 251

原创 Android知识体系框架

Parcelable和Serializable都是实现序列化并且都可以用于Intent间传递数据,Serializable是Java的实现方式,可能会频繁的IO操作,所以消耗比较大,但是实现方式简单 Parcelable是Android提供的方式,效率比较高,但是实现起来复杂一些 , 二者的选取规则是:内存序列化上选择Parcelable, 存储到设备或者网络传输上选择Serializable(当然Parcelable也可以但是稍显复杂)...

2021-08-01 15:16:52 173 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除