首先申明,本文不是讲解泛型的基础概念和用法,网上有很多普及类的博客,写的都很不错,本文的目的只是为了帮助大家理解泛型里面比较难懂上界和下界的概念。
继续阅读java和kotlin中的泛型上界(extends)下界(super)的理解flutter将Widget转成Uint8List并显示在地图上
百度地图提供的flutter插件,用起来还是很方便的,常规的需求基本都能满足。但是想在地图上自定义标注,比如实现下图的效果,可就没那么容易了。
继续阅读flutter将Widget转成Uint8List并显示在地图上Glide 4.0原理讲解(二)之缓存策略
Glide缓存主要分两种,一种是内存缓存,一种是磁盘缓存。其实也有说法是分三种,内存缓存又细分为活动缓存和内存缓存。两种缓存的作用不同,内存缓存的作用是防止应用重复将图片读取到内存中,磁盘缓存的作用是防止应用重复从网络或其他地方读取数据。
继续阅读Glide 4.0原理讲解(二)之缓存策略Glide 4.0原理讲解(一)之全流程
Glide的作用官网https://github.com/bumptech/glide已经做了很明确的说明了。简单总结就是用它来加载图片会很丝滑,几乎能满足你对图片的读取/缩放/显示的一切需求。性能方面,它兼顾了图片的解码速度以及图片的解码带来的资源压力。
继续阅读Glide 4.0原理讲解(一)之全流程Retrofit原理解析
retrofit和okhttp都是用来做网络请求的,并且都是出自Square公司。其中okhttp是用来代替android原生的HttpClient和HttpURLConnection的,官方也是建议用okhttp作为android底层的网络通信库。而retrofit将okhttp进一步封装,让开发者更方便的做网络请求。
继续阅读Retrofit原理解析RxJava3原理解析
建议大家先看看扔物线大神写的《给 Android 开发者的 RxJava 详解》,虽然是1.0版本的,但是RxJava发展这么多年,基本的核心思想并没有变。有了这篇文章作为基础再去理解RxJava3会容易很多。不能完全理解也没关系,本篇将由浅入深,带着大家一起来剖析RxJava3的原理。
继续阅读RxJava3原理解析记一次服务器宕机数据恢复过程
说来买衡天的服务器也有10年有余了,买来也只是为了搭建个博客记录些日常工作上以及生活上的一些心得体会。有人会问了,这么多免费的博客平台不用,干嘛非要花钱折腾个服务器再折腾搭建环境呢。多折腾折腾熟悉了很多linux的一些常识以及服务器一些基础的操作知识。
继续阅读记一次服务器宕机数据恢复过程View的测量和布局流程
View测量是为布局打基础,因为测量的过程就是计算View的位置和尺寸的过程,有了位置和尺寸就可以将View正确的布局到屏幕上。涉及的方法有onMeasure()、measure()、onLayout()、layout()。
继续阅读View的测量和布局流程Android的WMS讲解
WindowManagerService简称WMS,同前面讲解的PMS、AMS一样都是由system_server进程启动的系统的核心服务,先看下WMS的概念以及作用。
继续阅读Android的WMS讲解Android的AMS讲解
上一篇主要从源码角度分析了PMS的加载时机以及PMS的作用,同时也提到了PMS实际上是提供数据仓库给AMS用的,那本篇也同样从源码角度分析下AMS的作用是什么,它又是如何跟PMS发生关联的。
继续阅读Android的AMS讲解