ANDROID开发技术周报 ISSUE#90

新闻

  1. [图]谷歌把电子宠物做成了Android 7.0的彩蛋:90后的回忆
  2. Android 7.0新功能:官方或第三方应用一目了然

教程

  1. 理解Android存储系统架构

    本文主要介绍跟存储相关的模块MountService和Vold的整体流程与架构设计.MountService:Android Binder服务,运行在system_server进程,用于跟Vold进行消息通信,比如MountService向Vold发送挂载SD卡的命令,或者接收到来自Vold的外设热插拔事件。Vold:全称为Volume Daemon,用于管理外部存储设备的Native守护进程,这是一个非常重要的守护进程,由NetlinkManager,VolumeManager,CommandListener这3部分组成。

  2. Android 着色器 Tint 研究

    Tint 这个东西 主要用来减少apk体积的,比如说我现在有一个textview,他的背景图 有两种,一种是当获得焦点时显示的a图,另一种是 失去焦点时显示的b图。相信大家开发的时候 这种需求做过很多次了,我们一般都会发现 这种a图和b图 除了颜色不一样,其他都是一样的,但是我们做的时候呢,通常是找ui要了两张图。如果要适配分辨率的话 很有可能图片会更多,而且在切换的时候 因为是重新加载一次bitmap 效率也会下降很多。所以谷歌就给了一套解决方案 这个就是tint了。他的目的就是当你发现有这种需求的时候,只需要 放一张图 在apk里即可,当你需要改变背景图的颜色的时候 就用Tint即可!

  3. PathMeasure之迷径追踪

    Path,不论是在自定义View还是动画,都占有举足轻重的地位。绘制Path,可以通过Android提供的API,或者是贝塞尔曲线、数学函数、图形组合等等方式,而要获取Path上每一个构成点的坐标,一般需要知道Path的函数方法,例如求解贝塞尔曲线上的点的De Casteljau算法,但对于一般的Path来说,是很难通过简单的函数方法来进行计算的,那么,如何来定位任意一个给定Path的任意一个点的坐标呢?

  4. 图片之旅

    在开始图片之旅之前,先来聊聊图形学的一些基础,这些在图片处理的过程中或多或少都要接触。1.像素点:计算机显示的图像是由像素点组成的,每个像素点有RGB三种颜色,这三种颜色按一定比例混合就可以得到实际的色值。图片尺寸为640 x 480,代表图片水平有640个像素点,垂直有480像素点。2.color depth、bit depth: 每个像素RGB若各用8位表示,bit depth就是8bit,那么这个像素就用24位表示,color depth就是24bit。一个像素color depth越深,像素表达的颜色和亮度的位数越多,文件就越大。

  5. React 移动 web 极致优化

    学习React的好处就是,学了一遍之后,能够写 web, node 直出,以及 native,能够适应各种纷繁复杂的业务。需要轻量快捷的,直接可以用 Reactjs;需要提升首屏时间的,可以结合 React Server Render;需要更好的性能的,可以上React Native。但是,这其实暗示学习的曲线非常陡峭。单单是 Webpack+ React + Redux 就已够一个入门者够呛,更何况还要兼顾直出和手机客户端。不是一般人能 hold住所有端。

  6. Android 7.0对受信任的证书颁发机构做出变更

    在 Android Nougat (7.0) 中,我们更改了 Android 处理受信任证书颁发机构 (CA) 的方式,从而提供了更安全的系统默认设置,保障了应用流量安全。大多数应用和用户不受这些变更的影响,也不需要采取任何行动。这些变更包括:1.安全而简单的 API,用于信任自定义 CA。2.默认情况下,针对 API 级别 24 及以上版本而开发的应用不再信任用户或管理员为安全连接添加的 CA。3.所有运行 Android Nougat 的设备均提供同一套标准化的系统 CA,而没有任何设备特定的自定义 CA。

  7. 贝塞尔曲线开发的艺术

    在Android中,一般来说,开发者只考虑二阶贝塞尔曲线和三阶贝塞尔曲线,SDK也只提供了二阶和三阶的API调用。对于再高阶的贝塞尔曲线,通常可以将曲线拆分成多个低阶的贝塞尔曲线,也就是所谓的降阶操作。下面将通过代码来模拟二阶和三阶的贝塞尔曲线是如何绘制和控制的。

  8. Android打包提速实践

    AS的代码结构和eclipse完全不同,它为开发者提供了单工程多module的形式。但多建立一个module就需要多维护一个module。所以如果仅仅是为了方便写代码而建立一个module是不可取的,我强烈建议先做好项目结构的梳理再考虑是否需要建立module。

开源库&项目

  1. jadb

    ADB Client in pure Java.

  2. ixjava

    Interactive Extensions for Java

  3. create-react-app

    Create React apps with no build configuration.

  4. LogReport

    一个崩溃日志上传框架,当App崩溃的时,把崩溃信息保存到本地的同时,自动给GitHub提交崩溃issue,你只需要几句,就能完成所有配置

  5. CircularAnim

    Android水波动画帮助类,一行代码实现View显示/隐藏/startActivity特效。(对Android ViewAnimationUtils.createCircularReveal() 方法的封装)

  6. PaperShredder

    碎纸机动画效果

  7. Tinker_imitator

    微信热更新方案实践

  8. ScrollNumber

    一个 简单、优雅、易用 的滚动数字控件!

  9. SubmitButton

    A cool and elegant Submit Button

  10. GiftCard

    A beautiful gift Cards for android

  11. Console

    Android console implementation

  12. RingProgressBar

    一个简单实现的自定义圆环进度条,可使用于文件的上传下载图片加载等地方

  13. StereoView

    3D立体无限旋转滚动容器

  14. StatusBarCompat

    一个实现透明状态栏的兼容库,支持 Api 19 及其以上

  15. WaveSideBar

    一个快速跳跃分组的侧边栏控件

  16. MDAvatars

    The main goal is working with svg to make profile pictures.

  17. BottomNavigation

    Android Material Design "BottomNavigation" design pattern implementation

工具

  1. FontZip

    字体压缩神器

  2. Marp

    一个 可以将 Markdown 格式直接生成PPT,编辑方便,兼容性好,还可以进行版本管理的工具

  3. Githug

    一个命令行工具被设计来练习你的 Git 技能,它把平常可能遇到的一些场景都实例化,变成一个一个的关卡,一共有 55 个关卡,所以将他形象的形容为 Git 游戏

技术之外

    1. 如何给一个App起名字?

      选择一个App的名字是一个排它性的决策,因为它只能有一个。而无论你最后用了哪一个,都意味着要放弃所有其他的选择。也就是说,一个最终被选择的好名字,它应该是有战略的。

时间: 2024-10-03 11:44:57

ANDROID开发技术周报 ISSUE#90的相关文章

Android开发技术周报 Issue#69

新闻 Android N或取消应用抽屉 设计更趋近iOS 设计也在进化 对升级速度忍无可忍 谷歌或将收回安卓控制权 坑否 Google为手表App开发者推出了Google Play Services中国特别版 看起来很美好 Google发布J2ObjC 1.0:将Java转换为Objective-C 黑科技 2020年的Android系统会是什么样? 可能是非常酷的 教程 Android开发:最详细的 Toolbar 开发实践总结 详解有图有代码 Facebook如何采集其Android应用性能

Android开发技术周报 Issue#66

好消息,Android 开发技术周报开通了邮件订阅,赶快来订阅吧,订阅请戳我戳我戳我,还有还有现在也可以推荐资源给Android开发技术周报了,推荐资源请戳我戳我戳我 新闻 在 Google 看来,应用商店都将消亡,而搜索永存 搜索才是王道,让用户在 Google 搜索结果里直接安装 App 教程 Android Scroller完全解析,关于Scroller你所需知道的一切 郭神新作,详解 Scroller Android应用安全开发之源码安全 实用 APK 反调试技巧 如何自学Android

Android开发技术周报 Issue#27

教程 Android开发技术前线第五期 (@MrSimp1e) 深入Android图形管道.Romain Guy的性能优化案例.图片加载框架Glide.模仿iOS的模糊视图,都是些不错的文章. Android内存优化之MAT工具使用教程系列 (@高建武_Gracker) 正所谓工欲善其事,必先利其器,在对Android应用进行内存优化MAT(Memory Analyzer Tool)是一把必不可少的利剑,MAT一个基于Eclipse的内存分析工具,是一个快速.功能丰富的JAVA heap分析工具

Android开发技术周报 Issue#64

教程 AndroidFlux-异步请求和网络 在移动开发中,异步网络操作必不可少,本篇着重介绍在Flux模式中如何处理异步操作的问题,并深入一些细节,比如如何在异步操作时显示异步状态.另外,网络操作仅仅是异步操作的一种,最后扩展ActionCreator的语义来处理更多的业务逻辑. Tricking Android MemoryFile MemoryFile是android在最开始就引入的一套框架,其内部实际上是封装了android特有的内存共享机制Ashmem匿名共享内存,简单来说,Ashme

Android开发技术周报 Issue#24

教程 细数Android系统那些DOS漏洞 Android系统存在一些漏洞可导致系统重启,当然让系统重启只是一种现象,这些漏洞有的还可以权限提升.执行代码等.本文以重启这个现象为分类依据,牵强的把这些漏洞放在一块来看.下面对这些漏洞的成因和本质进行简单的分析,并尽量附上编译好的poc和漏洞利用演示视频. Android安全系列 此系列包含:Android Activtity Security.Android Content Provider Security.Android Broadcast

Android开发技术周报 Issue#67

新闻 OpenJDK将对Android开发产生怎样的影响? 在2015年年底,InfoQ曾提到Google已经决定在Android中使用OpenJDK,以取代基于Harmony实现的Java库.尽管这条消息在宣布时恰逢圣诞期间,但Google的这一决定还是在互联网上引起了很大的反响,我们将在本文中对于这些观点进行一次总结. 教程 ReactNative For Android 项目实战总结 Android Qzone 6.1版本在情侣空间涉水React Native,以动态插件方式将情侣空间进行

Android开发技术周报 Issue#17

ART运行时垃圾收集(GC)过程分析 ART运行时与Dalvik虚拟机一样,都使用了Mark-Sweep算法进行垃圾回收,因此它们的垃圾回收流程在总体上是一致的.但是ART运行时对堆的划分更加细致,因而在此基础上实现了更多样的回收策略.不同的策略有不同的回收力度,力度越大的回收策略,每次回收的内存就越多,并且它们都有各自的使用情景.这样就可以使得每次执行GC时,可以最大限度地减少应用程序停顿.本文就详细分析ART运行时的垃圾收集过程. 如何调试 Android 上 HTTP(S) 流量 在And

Android开发技术周报 Issue#15

教程 Android Studio系列教程五--Gradle命令详解与导入第三方包 Android Studio + Gradle的组合用起来非常方便,很多第三方开源项目也早都迁移到了Studio,为此今天就来介绍下查看.编译并导入第三方开源项目的方法. 打造极致Material Design动画风格Button 在我的文章中曾经有两篇关于Material Design风格的按钮实现.在第一章中只是简单的实现了动画的波纹效果,而在第二篇中对此进行了一定的扩充与优化,最后实现可以自动移动到中心位置

Android开发技术周报 Issue#21

教程 Android模块化编程之引用本地的aar 随着项目越来越多,代码的复用就变得异常重要,这时候就要进行模块化编程,就是把一些通用的组件或者类库做成单独的模块,其他项目直接进行引用就好.针对Android开发最常见的就是Android Library,在Gradle出现之前引用Android Library的方式也很繁琐,但是有了Gradle一切变得非常简单方便. 微信的jsbridge实现 android的webview api中有开放过一个addJavaScriptInterface函数