Post List

# 三款很酷很骚气的底部导航

IT 界著名的尼古拉斯・大龙曾说:现在做 Android 开发,已经是大好时机,网上有很多成熟的框架,我们应充分利用好这些,所谓前人种树后人好乘凉,很多时候压根不需要了解太多原理,只需站在巨人的丁丁上即可。

我个人对于新事物抱着总是乐于尝试的态度,可能是小时候能够接触的东西太少。目前情况下,在自己的承受或者精力范围内,会主动去买一些或者做一些东西,更多时候是为了体验一下。我始终认为,很多东西只有亲身去感受,才能深刻的认识到自己对这个东西的见解。

imgJetpack Compose 是一个现代化的 UI 工具包,旨在帮助开发者通过原生平台 API 简单快捷地在全 Android 平台构建精美应用,它能大幅降低代码量并包含交互式工具,以及使用直观的 Kotlin API,为您的应用增添活力。现在,我们正式发布 Jetpack Compose 的 Alpha 版本,邀请您体验!

大部分应用都会请求 (READ_EXTERNAL_STORAGE) ( WRITE_EXTERNAL_STORAGE ) 存储权限,来做一些诸如在 SD 卡中存储文件或者读取多媒体文件等常规操作。这些应用可能会在磁盘中存储大量文件,即使应用被卸载了还会依然存在。另外,这些应用还可能会读取其他应用的一些敏感文件数据。

为此,Google 终于下定决心在 Android 10 中引入了分区存储,对权限进行场景的细分,按需索取,并在 Android 11 中进行了进一步的调整。

# 1. Coil

img

Coil 是 Android 上的一个全新的图片加载框架,它的全名叫做 coroutine image loader , 即协程图片加载库。与传统的图片加载库 Glide,Picasso 或 Fresco 等相比。该具有轻量(只有大约 1500 个方法)、快、易于使用、更现代的 API 等优势。

# 1. 简介

Jetpack Compose 是在 2019Google i/O 大会上发布的新的库。 Compose 库是用响应式编程的方式对 View 进行构建,可以用更少更直观的代码,更强大的功能,能提高开发速度(这一段是谷歌自己说的)。 说实话, View/Layout 的模式对安卓工程师来说太过于熟悉,对于学习曲线陡峭的 Jetpack Compose 能不能很好的普及还是有所担心。

# 1、ViewRoot 和 DecorView

  1. ViewRoot 对应 ViewRootImpl 类,是连接 WindowManager 和 DecorView 的纽带。View 的三大流程是通过 ViewRoot 完成的。 在 ActivityThread 中,当 Activity 对象被创建完毕时,会将 DecorView 添加到 Window 中,同时会创建 ViewRootImpl,且 ViewRootImpl 和 DecorView 会建立关联。如下代码,WindowManagerGlobal 的 addView () 方法:

回想这六年里 Android 开发的发展历程,现如今的 Android 已经拥有了成熟的开发体系,技术框架也是经历了一代一代的更新:

  • HttpClientVolleyOkHttpRetrofit
  • ImageLoaderPicassoFrescoGlide
  • OrmLiteLitePalGreenDaoRealmRoom

除了熟悉的网络、图片和数据库 “三大件” 外,还有像 xUtilsEventBusDaggerRxJavaMultiType 等等,它们对于老 Android 来说,可以说是贯穿了整个 “青春期” 的回忆。