Benz 的blog

2018 年 Android 应用程序的发展趋势

应用程序开发人员正在不断开发新方法,一方面简化和缩短开发流程,另一方面构建最佳设计和用户体验。每年我们都可以看到在移动应用程序开发中不断涌现的新型尖端技术和工具。在这里,我们将介绍一些趋势,让您更好地了解 2018 年应该是什么。让我们仔细看看 Android 应用程序的发展趋势!

Kotlin 是一种相对较新的编程语言,适用于 Java 虚拟机。它主要由 JetBrains 程序员开发,自从 Google IO 2017 开始,Kotlin 一直是 Android 应用程序的官方编程语言。它有很多优点,比如:

- Kotlin 可与 Java 互操作
- 零安全
- 扩展功能
- Lambda 表达式
- 数据类

Kotlin 将现代语言的所有这些功能带到 Android 平台。这非常适合开发 Android 应用程序,并完全支持 Android Studio 3.0。它还包含几个工具来改善工作,就像 Kotlin Android 扩展,它可以完全替代标志性的 findViewById()。

ObjectBox

2018 年初值得关注的 25 个新 Android 库和项目

这是我最新收集的 25 个 Android 库和项目列表,你也许会发现它们有用,有趣,并值得查看一下。所有的都在最近 3 个月发布的,排序不分先后。

开始查阅吧!

1. transitioner

Transitioner 是一个为两个拥有嵌入子视图的视图之间提供简便、动态且可调整的动画效果的库。它纯 100% 使用 Kotlin 编写而成,使用 MIT 许可,且拥有良好的文档。

2018 年初值得关注的 25 个新 Android 库和项目

该库支持 API 19 及以上的 SDK 版本,而且在项目中也包含了用来展现其功能特性的示例应用。毫无疑问,它值得一试!

Android硬件加速原理与实现简介

在手机客户端尤其是Android应用的开发过程中,我们经常会接触到“硬件加速”这个词。由于操作系统对底层软硬件封装非常完善,上层软件开发者往往对硬件加速的底层原理了解很少,也不清楚了解底层原理的意义,因此常会有一些误解,如硬件加速是不是通过特殊算法实现页面渲染加速,或是通过硬件提高CPU/GPU运算速率实现渲染加速。

本文尝试从底层硬件原理,一直到上层代码实现,对硬件加速技术进行简单介绍,其中上层实现基于Android 6.0。

了解硬件加速对App开发的意义

对于App开发者,简单了解硬件加速原理及上层API实现,开发时就可以充分利用硬件加速提高页面的性能。以Android举例,实现一个圆角矩形按钮通常有两种方案:使用PNG图片;使用代码(XML/Java)实现。简单对比两种方案如下。

Android硬件加速原理与实现简介

Android开发者选项之GPU过度绘制

GPU过度绘制定义

如果你粉刷过一个房间或一所房子,就会知道给墙壁涂上颜色需要做大量的工作。假如你还要重新粉刷一次的话,第二次粉刷的颜色会覆盖住第一次的颜色,第一次的颜色就永远不可见了,等于你第一次粉刷做的大量工作就完全被浪费掉。这太可怕了。

同样的道理,如果在你的应用程序中浪费精力去绘制一些东西同样会产生性能问题。过度绘制这个名词就是用来描述屏幕上一个像素在单个帧中被重绘了多少次。

GPU过度绘制就指的是在屏幕一个像素上绘制多次(超过一次),GPU过度绘制或多或少对性能有些影响。

GPU过度绘制分析

过度绘制其实是一个性能和设计的交叉点。我们在设计上追求很华丽的视觉效果,但一般来说这种视觉效果会采用非常多的层叠组件来实现,这时候就会带来过度绘制的问题。我们再来看看具体显示在Android界面层级关系:

为什么说未来五年手机将被边缘化?

强大的现实往往会限制我们的想象力,让我们习以为常,并以为世界就会像现在这样一直下去。比如现在我们几乎无法想象没有手机的世界会是什么样,但实际上手机开始主导我们的生活也不过只有 6 年~7 年。

手机是移动互联网的基石,如果它的形态或者所占据的用户时间发生显著变化,那么围绕它所形成的稳定生态就会发生颠簸,并很可能会被重构。那手机的角色会被削弱么?

未来的世界里没有手机

终极科幻片里通常没有手机这东西,即使是《黑客帝国》也只是在体现接入矩阵的时候强调手机,在有锡安的那个世界里人们其实是不用手机的。其它如《星际迷航》等就更是明显,大多场景都不会出现手机。这些似乎暗示在想象力所支撑的世界里,大家潜意识地忽略手机。

这与今天手机所处的位置可以形成鲜明对比。在当下手机更像是人器官的延伸,是人与数字世界交互的中枢,我们生活里的一切交互几乎都在手机上发生。能与手机对抗并且撑起独立空间的设备大多是因为屏幕尺寸(电视、Pad)或者生产力上具有独特优势(笔记本)等。 所以可以讲,眼下是一个手机太强,但别的设备太弱的年代。

这个趋势会发生变化么?真实的未来世界里手机会占据怎样一个角色?

Android系统的安全设计与架构

一、安全策略

1、Android

的总体架构由5个主要层次上的组件构成,这5层是:Android应用层、Android框架层、Dalvik虚拟机层、用户空间原生代码层和Linux内核层。

Android系统的安全设计与架构

2、安全边界,有时也会称为信任边界,是系统中分隔不同信任级别的特殊区域。

一个最直接的例子就是内核空间与用户空间之间的边界。内核空间中的代码可以对硬件执行一些底层操作并访问所有的虚拟和物理内存,而用户空间中的代码则由于CPU的安全边界控制,无法访问所有内存。

3、Android沙箱的核

心机制基于以下几个概念:标准的Linux进程隔离、大多数进程拥有唯一的用户ID(UID),以及严格限制文件系统权限。

#define AID_SHELL 2000 / * adb shell 与 debug shell 用户* /
#define AID_CACHE 2001 / *缓存访问* /

Android BLE介绍和蓝牙协议的一些知识,很值得收藏

其实BLE是个通用的技术术语,与平台无关的,即ios和Android以及一些嵌入式系统或单片机都可以有BLE模块。

那今天先对Android BLE相关的应用开发的进行讲解,不过在了解之前,我们有必要去了解BLE简单介绍和蓝牙协议的一些知识。

BLE简单介绍

BLE:Bluetooth Low Energy,即蓝牙低功耗,它是一种技术,从蓝牙4.0开始支持。

低功耗蓝牙芯片有两种模式:单模和双模。

*单模:只能执行低功耗协议栈,也就是只支持BLE;

*双模:即支持传统蓝牙又支持BLE的使用。

BLE较传统蓝牙具有传输速度更快,覆盖范围更广,安全性更高,延迟更短,耗电低等优点。

关键术语

Gatt(Generic Attribute Profile)即通用属性协议,用于在BLE链路上发送和接收的数据块。目前所有的BLE应用都是基于GATT的。一个设备可以实现多个配置文件。

BLE交互的桥梁是Characteristic、Desciptor、Service。

Google 推送 Android 8.1 开发者预览版,新增神经网络 API

Google 今天推送了 Android 8.1 开发者预览版 ,这次更新包含一个神经网络 API,能够为设备上的机器学习操作提供硬件加速支持。Google 称,一般的应用不会调用这个 API,它是专门为机器学习库和框架准备的。

针对轻量级的 Android Go,Android 8.1 更新也包含了对这一系列设备的内存优化,帮助开发者在低运存设备上分发应用时有效拆分 APK,让 Google Play Store 提供更符合硬件规格的应用版本。这次更新也对系统的通知机制进行了调整,在一些低运存设备上可以取消某些通知调用,而且应用每秒钟只可以提交一次推送。

Google 推送 Android 8.1 开发者预览版,新增神经网络 API

Android 8.1 开发者预览版还新增了共享内存 API,可以让 app 分配共享内存,更快读取到共享数据。除此之外,这次更新还为 Autofill 进行了升级,改善秘钥管理和其他 Autofill 服务的使用体验。

Android 8.0 正式版要来了,预计 8 月初推出

Android 8.0 从预告到预览版推送,已有一段时间,谷歌此前仅透露正式版会在第三季度发布。

最新的消息,据 PhoneArena 报道,Android 8.0 正式版定于2017年8月中上旬推出。本月底,最后一个开发者预览版(Developer Preview 4)就会放出,从而无限接近正式形态。

对比历代 Android 重大版本的推送时间,最早是7月,最晚是10月。

厂商方面,无疑,新一代 Pixel 将直接搭载,而 Nexus 6P/5X 应该也在首批升级之列。此外,OEM 中,HTC、一加、诺基亚、三星等都承诺了安卓 8.0 的推送,但具体时间不详。

文章转载自 开源中国社区 [ http://www.oschina.net ]

科普知识:通标的1G、2G、3G、4G、5G网络分别指什么?

随着互联网的普及和智能手机的广泛应用,大家对2G、3G、4G网络并不陌生。然而什么是2G、3G、4G网络,很多人就只能懵逼的人为是上网速度有差异。

其实,真正从个人用户的角度来说,上述理解无可厚非。G指的是Generation,也就是“代”的意思。1G~5G等的定义,主要是从速率,业务类型,传输时延,还有各种切换成功率角度给出具体实现的技术不同。所以1G就是第一代移动通信系统的意思,2G、3G、4G、5G就分别指第二、三、四、五代移动通信系统,而这也确实是人为划代。

科普知识:通标的1G、2G、3G、4G、5G网络分别指什么?

1G:

同步内容
--电子创新网--
粤ICP备12070055号