240 发简信
IP属地:吉林
  • 120
    View 事件分发源码解析

    1. 源码分析目标 上一篇文章[//www.greatytc.com/p/44ba6d266a37]中对 View 事件分发的规律进行了总结,总结了 View 事件...

  • BottomSheet 设计分析与踩坑

    1. BottomSheet 底部弹窗是一个很常见的一个功能,取消确认面板、分享面板、评论面板等,都是底部弹出的场景,那么想实现这样一个面板,应该怎么思考去设计一个面板满足需...

  • 120
    应用卡顿优化

    对于卡顿分析,首先需要明确分析的因素,即影响卡顿有哪些点,是 CPU 繁忙,线程锁资源导致的阻塞,IO 耗时操作,还是内存吃紧等,然后再收集卡顿时相关信息,当前设备信息,当前...

  • 120
    SharePreferences 分析及正确使用姿势

    1.Android 常见数据存储方式 在 Android 中,常用数据存储方式通常有以下几类: 文件存储:将数据存储在文件中。文件存储根据位置不同,可以存储在应用包下,成为内...

  • 120
    图解 Android 事件分发机制

    在Android开发中,事件分发机制是一块Android比较重要的知识体系,了解并熟悉整套的分发机制有助于更好的分析各种点击滑动失效问题,更好去扩展控件的事件功能和开发自定义...

  • 120
    Android ANR

    1.ANR 1.1 什么是 ANR? 我们知道安卓应用中 UI 渲染是在主线程中,所以对于一些点击事件,以及和用户交互相关的事件需要能够及时,否则对于用户来说就是一个很不好的...

  • 120
    RxJava 内存泄漏

    1. RxJava 内存泄漏原因 Disposable 基本原理: (1)这里仅看下 Observer 的执行,如在主线程执行 Observer,会走 Observable ...

  • 120
    内存泄漏常见场景及处理方法

    1.Java垃圾回收(GC) Java 是如何管理内存为了判断Java中是否有内存泄露,我们首先必须了解Java是如何管理内存的。Java的内存管理就是对象的分配和释放问题。...

  • 120
    Android 依赖注入 DI - Dagger2

    Dagger2 1.依赖注入 (Dependency Injection) 1.1 面向接口编程 方式 1 中直接依赖 Bike 类,Worker 依赖具体的实现类,一旦改变...

  • 120
    Android 中 Text Span 分析

    1.为什么需要 Span? 在文本展示时,如果不需要设置样式,包括颜色,大小,对齐方式等属性时,可以利用 View 的属性来控制,但是很多时候我们希望控制颜色,字体大小,对齐...

  • 120
    View 性能优化(一)

    1 View 机制简单介绍 UI 渲染还依赖两个核心的硬件:CPU 与 GPU。UI 组件在绘制到屏幕之前,都需要经过 Rasterization(栅格化)操作,而栅格化操作...

  • 120
    白话kotlin:内联函数助你提升运行效率

    什么是内联函数 这个玩意吸取自C++,如下: 内联函数是C++的增强特性之一,用来降低程序的运行时间。当内联函数收到编译器的指示时,即可发生内联:编译器将使用函数的定义体来替...

  • 120
    白话kotlin:lambda表达式和高阶函数是什么玩意?

    lambda表达式是什么玩意? 一言蔽之:lambda表达式就是一个匿名函数我们通常这样写匿名函数: 这样写可能有点麻烦,我们使用lambda表达式可以这么写: lambda...

  • 120
    View 事件分发规律总结(超详细)

    上一篇 事件分发—初体验 文章中实现了一个能够滑动关闭的 Demo,主要来体验一下事件分发,这篇来对 View 的事件分发做一下规律总结,包括【单一 View】,【单一 Vi...

  • 120
    事件分发—初体验

    1.View 事件分发初体验 View 事件在 Android 中也是很重要的一块,通过对事件的处理可以完成一系列的交互操作,使界面有更好的交互效果,本篇文章就来体验一下事件...

  • 120
    并发学习之 - ReentrantLock

    synchronized 和 ReentrantLock 上一篇文章 并发学习之 - synchronized 中我们讲解了如何使用关键字 synchronized 来实现同...