随笔博文

  • Lifecycle Activity和Fragment生命周期感知组件 LifecycleObserver

    为什么要引进 Lifecycle我们在处理Activity或者Fragment组件的生命周期相关时,不可避免会遇到这样的问题:我们在Activity的onCreate()中初始化某些成员,比如MVP架构中的Presenter,或者AudioManager、MediaPlayer等,然后在onStop中对这些成员进行对应处理,并在onDestroy中释放这些资源。这是很常见的情形,按照通常的做法,我

    2022-11-23 michael007js 548

  • java日期时间详解

    一、简介java中的日期处理一直是个问题,没有很好的方式去处理,所以才有第三方框架的位置比如joda。 文章主要对java日期处理的详解,用1.8可以不用joda。1. 相关概念首先我们对一些基本的概念做一些介绍,其中可以将GMT和UTC表示时刻大小等同。1.1 UT时间 UT反应了地球自转的平均速度。是通过观测星星来测量的。 具体可以看参考1.1.2 UTC UTC是用原子钟时间做参考,但保持和

    2023-04-14 michael007js 517

  • Android获取系统信息-android.os.Build类

    android.os.Build类是一个非常方便使用的类,不需要任何权限。说明如下:android.os.Build.BOARD:获取设备基板名称 android.os.Build.BOOTLOADER:获取设备引导程序版本号 android.os.Build.BRAND:获取设备品牌 android.os.Build.CPU_ABI:获取设备指令集名称(CPU的类型) android.os.Bu

    2023-10-25 michael007js 510

  • 高效处理列表数据变化,你需要了解的 DiffUtil

    DiffUtil 是 Android 中用于计算两个列表之间差异的实用工具类。它可以优化 RecyclerView 的刷新操作,仅刷新需要更新的部分,从而提高性能并减少不必要的操作。本篇博客将从简单到高级,介绍使用 DiffUtil 的基本流程以及一些高级用法,帮助开发者更好地使用 DiffUtil。什么是 DiffUtil?DiffUtil 是一个用于计算两个列表之间差异的实用工具类。它通过比较

    2023-03-07 michael007js 509

  • CoordinatorLayout.Behavior详解

    先看官网对 CoordinatorLayout 的介绍 CoordinatorLayout is a super_powered FrameLayout。CoordinatorLayout is intended for two primary use cases:As a top-level application decor or chrome layout;As a container fo

    2023-02-17 michael007js 496

  • Android setLineSpacing(float add, float mult)

    setLineSpacing()原型为public void setLineSpacing(float add, float mult); 参数add:增加的间距数值,对应android:lineSpacingExtra参数。 参数mult:增加的间距倍数,对应android:lineSpacingMultiplier参数。最终结果:原行间距 x mult+add tv.setLineSpacin

    2023-01-06 michael007js 495

  • AppBarLayout 简单使用

    导读本篇文章将介绍Materia_Design控件,design包中的AppBarLayout的简单使用说明控件简介AppbarLayout继承于LinearLayout,是一个垂直的LinearLayout,它实现了Material Design的许多功能和特性,即滚动手势(Scrolling Gestures)我们可以定义行为Behavior,当某个可滑动View(如ListView)滑动手势

    2022-12-02 michael007js 483

  • Android的硬件加速及可能导致的问题

    硬件加速Android 3.0 (API level 11), 开始支持 所有的View 的canvas都会使用GPU,但是硬件的加速会占有一定的RAM。 在API >= 14上,默认是开启的,如果你的应用只是标准的View和Drawable,全局都打开硬件加速,是不会有任何问题的。 然而,硬件加速并不支持所有的2D画图的操作,这时开着它,可能会影响到你的自定义控件或者绘画,出现异常等行为,

    2022-12-08 michael007js 477

首页
关于博主
我的博客
搜索