首页
学习
活动
专区
工具
TVP
发布

刘晓杰

专栏成员
281
文章
269313
阅读量
41
订阅数
RecyclerView的部分优化
1.在 onCreateViewHolder 里面写点击事件 这个很好理解,onBindViewHolder会多次调用
提莫队长
2021-12-16
8610
Fresco(一)Fresco的使用介绍
Fresco是一个出自Facebook的功能强大的图片加载库。本文就来介绍一下它的使用
提莫队长
2021-07-27
1.5K0
"Activity top position already set to onTop=false"解决方案[未验证]
isTopResumedActivity 是android10新增的代码。当最上层的resume的Activity获得或者失去焦点时会响应onTopResumedActivityChanged。这个方法的参数isTopResumedActivity就是指的是否有焦点,最终就会影响isTopResumedActivity 。 onTopResumedActivityChanged 这个方法是10以上新加的方法。当只有一个Activity的时候,onTopResumedActivityChanged 等同于我们熟悉的onResume。当处于分屏状态下,一个Activity的onTopResumedActivityChanged 返回false,必然有另一个Activity返回true。(onTopResumedActivityChanged 这个方法的注释里面有,有兴趣可以自己去看)(所以这个崩溃只可能在分屏状态下发生???) 观察log,初步确定问题出在 H.handleMessage 里面. H 就是内置的handler
提莫队长
2021-07-20
2.3K0
JetPack最新库的简单介绍
这个其实没啥可说的,其实就是简化了一部分用法,比如把构造器放到activity上去。参考链接 How AndroidX changes the way we work with Activities and Fragments A first look at AndroidX Activity Result APIs
提莫队长
2021-07-19
8610
android paging 库介绍
Paging 使您的应用程序配合RecyclerView更容易从数据源中高效优雅地加载所需的数据,不会因为数据库数据量大而造成查询时间过长。说白了就是分页加载的优化。
提莫队长
2021-06-29
1.3K0
深入了解ViewPager2
ViewPager2从名字就可以看出来它是ViewPager的升级版,既然是升级版那么它相比ViewPager有哪些新变化呢? 添加依赖,目前ViewPager2的最新稳定版本是1.0.0(20210525)。1.1.0-alpha01 不稳定
提莫队长
2021-06-29
1.5K0
JetPack Material Design 组件简单介绍
基于最新的 com.google.android.material:material:1.4.0-alpha01。因为没有release,所以只是介绍了解,以后release了可以直接使用
提莫队长
2021-04-01
1.9K0
Android异步框架的比较(CompletableFuture,Coroutine,RxJava)
CompletableFuture Future系列(FutureTask) Future系列(CompletableFuture的使用) Future系列(CompletableFuture与retrofit)使用和解析
提莫队长
2021-03-15
2.2K0
Future系列(CompletableFuture与retrofit)使用和解析
注意,retrofit 2.9.0 已经内置了 java8 的 adapter,所以不需要 adapter-java8 的依赖了 另外,别忘了网络权限
提莫队长
2021-03-11
1.2K0
Coroutine(协程)(四)和retrofit搭配使用
注意:Coroutine和retrofit的使用在retrofit2.6之前之后是有区别的
提莫队长
2021-03-09
2.4K0
Future系列(CompletableFuture的使用)
CompletableFuture提供了四个静态方法用来创建CompletableFuture对象:
提莫队长
2021-03-09
6440
Coroutine(协程)(三)
一个 Channel 是一个和 BlockingQueue 非常相似的概念。其中一个不同是它代替了阻塞的 put 操作并提供了挂起的 send,还替代了阻塞的 take 操作并提供了挂起的 receive。
提莫队长
2021-03-04
5180
Coroutine(协程)(二)
如果使用一些消耗 CPU 资源的阻塞代码计算数字(每次计算需要 100 毫秒)那么我们可以使用 Sequence 来表示数字:
提莫队长
2021-03-04
5620
Coroutine(协程)(一)
Coroutine是kotlin官方文档上推荐的,个人理解,其实就是一个轻量级的线程库。当然,协程并不是线程.简单来说,线程(thread)的调度是由操作系统负责,线程的睡眠、等待、唤醒的时机是由操作系统控制,开发者无法决定。使用协程,开发者可以自行控制切换的时机,可以在一个函数执行到一半的时候中断执行,让出CPU,在需要的时候再回到中断点继续执行。因为切换的时机是由开发者来决定的,就可以结合业务的需求来实现一些高级的特性。
提莫队长
2021-03-04
8440
线程安全和锁机制(一)总述
当多个线程访问一个对象时,如果不用考虑这些线程在运行时环境下的调度和交替执行,也不需要进行额外的同步,或者在调用方法进行任何其他的协调操作,调用这个对象的行为都可以获得正确的结果,那么这个对象是线程安全的。
提莫队长
2021-03-03
7580
线程安全和锁机制(三)synchronized和Lock
synchronized可以保证方法或者代码块在运行时,同一时刻只有一个方法可以进入到临界区,同时它还可以保证共享变量的内存可见性
提莫队长
2021-03-03
4070
线程安全和锁机制(二)谈谈volatile
计算机在执行程序的时候,每条指令都是在CPU中执行的,执行完了把数据存放在主存当中,也就是计算机的物理内存。 刚开始没问题,但是随着CPU技术的发展,执行速度越来越快。而由于内存的技术并没有太大的变化,导致从内存中读写数据比CPU慢,浪费CPU时间。 于是在CPU和内存之间增加高速缓存。这样就引入新的问题:缓存一致性。在多核CPU中,每个核的自己的缓存中,关于同一个数据的缓存内容可能不一致。 除了这种情况,还有一种硬件问题也比较重要。那就是为了使处理器内部的运算单元能够尽量的被充分利用,处理器可能会对输入代码进行乱序执行处理。这就是处理器优化。 除了现在很多流行的处理器会对代码进行优化乱序处理,很多编程语言的编译器也会有类似的优化,比如Java虚拟机的即时编译器(JIT)也会做指令重排。
提莫队长
2021-03-03
3730
线程安全和锁机制(四)谈谈 ThreadLocal 和 Handler
ThreadLocal可以实现线程本地存储的功能。把共享数据的可见范围限制在同一个线程内,就无须同步也能保证线程间不出现数据争用的问题。 那么它是如何实现解决数据争用的问题呢。看代码
提莫队长
2021-03-03
3780
Java并发编程一(FutureTask)
用着 “三无产品” 总是有一些弊端,其中没办法拿到返回值是最让人不能忍的,于是 Callable 就诞生了
提莫队长
2021-03-03
2910
Toast BadTokenException
从报错信息看应该是Toast的。而且都在7.1.2以下,也就是API25以下。查看Toast的handleShow方法(api27和api25),发现是因为 mWM.addView(mView, mParams); 这一段代码在 25 没有 try catch,而 27 是加了 try catch 的。 鉴于 handleShow 是 Toast 的内部类 TN 里面的方法。因此一共有两种思路
提莫队长
2021-02-22
1K0
点击加载更多
社区活动
【纪录片】中国数据库前世今生
穿越半个世纪,探寻中国数据库50年的发展历程
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档