240 发简信
IP属地:浙江
  • Android Studio 3.5格式化布局代码时错位、错乱bug

    更新到3.5版本后,格式化布局文件代码,会自动给排序元素,导致界面布局错乱 解决办法:设置 > code style > XML 右上角 Set...

  • Activity调用finish却不立即执行onDestory

    Activity.finish() 在你的activity动作完成的时候,或者Activity需要关闭的时候,调用此方法。当你调用此方法的时候,...

  • onCreat()和onRestoreInstanceState()恢复数据区别

    因为onSaveInstanceState 不一定会被调用,所以onCreate()里的Bundle参数可能为空,如果使用onCreate()来...

  • Glide实现原理解析

    一.Glide缓存机制 Glide采取的多级缓存机制,能够较为友好地实现图片、动图的加载。其主要有 内存缓存+磁盘缓存 ,当然他们的作用也有不...

  • ARouter原理解析

    ARouter 是一个用于帮助 Android App 进行组件化改造的框架 —— 支持模块间的路由、通信、解耦https://github.c...

  • Android动态换肤实现原理解析

    换肤分为动态换肤和静态换肤 静态换肤 这种换肤的方式,也就是我们所说的内置换肤,就是在APP内部放置多套相同的资源。进行资源的切换。这种换肤的方...

  • 装箱/拆箱和类型转换之间的区别是什么?

    装箱是指将不可为空的值类型转换为引用类型,或将值类型转换为它实现的某个接口(例如int to icomparable )。拆箱是指从对象显式转换...

  • Dart笔记(21):Stream和Generators

    Stream 概念:Stream 就是流的意思,表示发出的一系列的异步数据。可以简单地认为 Stream 是一个异步数据源。它是 Dart 中处...

  • Dart笔记(20):异步

    Future async 库中有一个叫Future的东西。Future是基于观察者模式的。如果你熟悉Rx或者JavaScript的Promise...