- 博客(7)
- 资源 (13)
- 收藏
- 关注
转载 每日一字节跳动面试真题:说一下RecyclerView 性能优化
字节跳动四面有三面都问了这个问题,在此做了整理,希望可以帮助到大家,欢迎查漏补缺。数据处理和视图加载分离我们知道,从远端拉取数据肯定是要放在异步的,在我们拉取下来数据之后可能就匆匆把数据丢给了 VH 处理,其实,数据的处理逻辑我们也应该放在异步处理,这样 Adapter 在 notify change 后,ViewHolder 就可以简单无压力地做数据与视图的绑定逻辑,比如:mTextView.setText(Html.fromHtml(data).toString())这里的 Html
2020-12-24 20:11:33 302 1
转载 RecyclerView配合DiffUtil,数据对比,局部刷新
本文转载自作者: 承香墨影,附上作者微信和公众号一、前言DIffUtils 是 Support-v7:24:2.0 中,更新的工具类。因为已经更新了一段时间了,也不好说是最新更新的。它主要是为了配合RecyclerView 使用,通过比对新、旧两个数据集的差异,生成旧数据到新数据的最小变动,然后对有变动的数据项,进行局部刷新。接下来就 DiffUtil 的使用细节,进行一个详细的讲解,希望一篇文章就完全理解 DiffUtil。二、为什么会有DiffUtilRecyclerView
2020-12-24 19:58:37 1858 1
转载 Fragment切换replace和(add-hide-show)
本所有的app都会涉及到。在Fragment的切换中有两种方式----方式1使用replace直接切换;方式2使用add先添加Fragment,然后再使用hide隐藏不显示的Fragment,最后再用show将需要显示的Fragment显示出来。 下面将介绍下这两种方式:方式1:使用replace使用replace切换Fragment的代码如下:FragmentManager fm = getSupportFragmentManager();FragmentTrans...
2020-12-22 08:17:35 1243
转载 主线程中的Looper.loop()死循环为什么不会导致ANR?
源码的 ActivityThread 类中有这么一段代码:public final class ActivityThread { public static void main(String[] args) { ... Looper.prepareMainLooper(); // 注意此处 ActivityThread thread = new ActivityThread(); thread.attach(fa
2020-12-22 08:08:12 538
原创 面试之Android事件传递
以上是测试结构;firstl = this.findViewById(R.id.firstlinearLayout); secl = this.findViewById(R.id.seclinearLayout); testtv = this.findViewById(R.id.textView); firstl.setOnTouchListener(new View.OnTouchListener() { @Overri...
2020-12-21 23:24:23 242 1
转载 Android Handler究竟是如何实现跨线程的?
背景本文要解决的问题是:1、Handler究竟是怎样实现跨线程通信的?2、为什么要使用ThreadLocal?为什么还要写这么一篇文章呢?网上关于Handler机制的文章已经多如牛毛,但是大多数源码分析都是在分析Looper、MessageQueue、Message之类的,看了之后还是不知道,或者不会去想,Handler究竟是如何做到跨线程的。有的也会讲ThreadLocalMap,个人理解,它不是做到跨线程的原因,它只是对于Handler机制的一种优化。阅读本文需要先对Handler机制有一定了
2020-12-19 09:45:38 875 1
转载 Android性能优化(五)之细说Bitmap
在上一篇《Android性能优化(四)之内存优化实战》中谈到那个内存中的大胖子Bitmap,Bitmap对内存的影响极大。 例如:使用Pixel手机拍摄4048x3036像素(1200W)的照片,如果按ARGB_8888来显示的话,需要48MB的内存空间(4048*3036*4 bytes),这么大的内存消耗极易引发OOM。本篇文章就来说一说这个大胖子。1. Bitmap内存模型Android Bitmap内存的管理随着系统的版本迭代也有演进:1.在Android 2.2(API8)之前,当G
2020-12-16 21:53:32 565
GprinterDemoForAndroidV2(2019-9-7)(3)-1.7z
2021-07-30
StackNavigator示例
2019-02-26
Maven+Spring+SpringMVC+Mybatis+Shiro框架搭建工程
2018-02-04
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人