maomao_yu15
码龄8年
求更新 关注
提问 私信
  • 博客:5,461
    5,461
    总访问量
  • 7
    原创
  • 1
    粉丝
  • 17
    关注
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:福建省
加入CSDN时间: 2017-10-29
博客简介:

maomao_yu15的博客

查看详细资料
个人成就
  • 获得1次点赞
  • 内容获得1次评论
  • 获得4次收藏
  • 博客总排名1,507,432名
创作历程
  • 2篇
    2022年
  • 5篇
    2021年
成就勋章
TA的专栏
  • compose
  • #Compose动画
  • #状态订阅和自动更新
  • android: 自定义View
  • android面试基础
    4篇
  • android 常用开源库
    1篇
  • android基础
  • android: 随记
    2篇

TA关注的专栏 0

TA关注的收藏夹 0

TA关注的社区 2

TA参与的活动 0

创作活动更多

新星杯·14天创作挑战营·第13期

这是一个以写作博客为目的的创作活动,旨在鼓励大学生博主们挖掘自己的创作潜能,展现自己的写作才华。如果你是一位热爱写作的、想要展现自己创作才华的小伙伴,那么,快来参加吧!我们一起发掘写作的魅力,书写出属于我们的故事。我们诚挚邀请你们参加为期14天的创作挑战赛!注: 1、参赛者可以进入活动群进行交流、互相鼓励与支持(开卷),虚竹哥会分享创作心得和涨粉心得,答疑及活动群请见:https://bbs.csdn.net/topics/619781944 【进活动群,得奖概率会更大,因为有辅导】 2、文章质量分查询:https://www.csdn.net/qc

88人参与 去参加
  • 最近
  • 文章
  • 专栏
  • 代码仓
  • 资源
  • 收藏
  • 关注/订阅/互动
更多
  • 最近

  • 文章

  • 专栏

  • 代码仓

  • 资源

  • 收藏

  • 关注/订阅/互动

  • 社区

  • 帖子

  • 问答

  • 课程

  • 视频

搜索 取消

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

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

监听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 ·
2368 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

Android的消息机制

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

常用开源框架

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.25 ·
809 阅读 ·
1 点赞 ·
0 评论 ·
1 收藏

IPC 进程间通信

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

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

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

Android知识体系框架

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