标签归档:android

Android Studio 2.2 新特性

Android Studio是官方的 Android集成开发环境(IDE)。

全新的 Android Studio 2.2 有 20 多个新特性,设计到开发过程的每个主要阶段如设计,开发,构建以及测试。

设计

  1. 布局编辑器 :现在用新的 UI设计器设计UI更容易了。新的蓝图模式有助于快速的构建应用程序UI结构并且通过使用新的属性面板可以调整每个部件的可视属性。
  2. 约束布局 :新的约束布局是一个灵活的布局管理器,允许你创建动态用户界面,无需再做多层 layout嵌套。其兼容Android 9 (Gingerbread)以上的版本。

开发

  1. 改进的C++支持:你可以在 Gradle 里使用 CMake 或 ndk-build来编译 C++项目。从CMake构建转移到Android Studio现在是无缝连接。不仅对 C++ 提供了支持,还对 C++ 编辑和调试体验进行了修复。
  2. 示例浏览器:现在,通过 Android Studio 2.2 引用 Android 示例代码变得更加简单了。在代码编辑器窗口中,你可以在 Google Android 示例代码中查找您的应用代码。

构建

  1. Instant Run改进:引入 Instant Run 的目的是让 Android 开发更加快速而简便。自其发布以来,它已经显著地缩短了许多开发者的编辑、构建、运行迭代周期。
  2. APK分析器:你可以很容易地看到 APK 的内容,了解每个组件的大小。此功能在调试 multi-dex 时十分有用。此外,你还可以比较一下 APK 的两个版本。
  3. 构建缓存(实验性):大大地提高构建速度,帮助缩短完整和增量构建时间,只需将 android.enableBuildCache=true 添加到 gradle.properties 文件。

测试

  1. Android Emulator中的虚拟传感器: Android Emulator 现在包括一组新的虚拟传感器控件。你可以使用这些新的控件测试 Android 传感器,例如加速度计、环境温度、磁力计等。
  2. Espresso测试记录器(测试版): Espresso 测试记录器可用于记录与您的应用的交互,轻松地创建 UI 测试。记录您与设备的交互并且添加断言,以在应用的特定快照中验证 UI 元素。您可以在Android的Firebase测试实验室中运行该测试或本地运行该测试。
  3. GPU调试程序(测试版): GPU调成程序现在为测试版。现在,您可以捕获 Android 设备上的 OpenGL ES 命令流,然后在 Android Studio 内重播该命令流。为更好地了解OpenGL ES命令,调试您的图形输出,您也可全面检查任何指定 OpenGL ES 命令的 GPU 状态。

更新/下载

  • 如果您使用的是早期版本的 Android Studio,可以在Stable 稳定版发布渠道上检查更新。您也可以在官方网站页面上直接下载 Android Studio 2.2

继续阅读 →

发表在 研发 | 标签为 | 留下评论

小米WIFI“已连接,但无法访问互联网”解决方案

5b46178f7786bbaaa5f2247ac599f866

上了小米后没root的环境下安装了Adblock Plus,就会偶尔出现连接WIFI后提示“已连接,但无法访问互联网”。删除掉Adblock Plus就正常。Google后猜测应该是WIFI热点设置了Adblock Plus后Android 5.0网络探测的问题:小米系统修改了网络探测的host,这个host进入了Adblock Plus的黑名单,因此连接了WIFI后做网络探测,就无法获得正确的204返回。

继续阅读 →

发表在 研发 | 标签为 | 留下评论

谷歌发布Android Studio 2.2开发工具!

在Google I/O大会上,Google除了公布最新的安卓N的更多特性,还带来了Android Studio 2.2。

Android Studio 2.2主要改进了UI设计工具,增强了对Java8和C++语言的支持,而且JIT编辑器也变得更加强大,模块化应用的构建变得更加简单。

同时,Android Studio 2.2还将深度整合全新移动分析工具Firebase Analytics,该工具主要用于统计应用、管理消息推送和维护管理App,并且支持在线云存储和实时性能调整。

继续阅读 →

发表在 研发 | 标签为 | 留下评论

Android Studio在Mac下编译缓慢的可能问题

最近调试编译android项目发现Android Studio越来越慢,CPU占用十分高并导致像牛喘气一样风扇狂转,编译项目的时间也变成一分多钟。这样严重影响开发效率,因此花了两个小时来折腾。

  1. 怀疑IDE本身有损坏,删除重装,无效。
  2. 怀疑项目配置有问题,检查并优化后检查,无效。
  3. 怀疑gradle配置有问题,修改gradle配置,无效。
  4. 怀疑gradle版本有问题,安装最新版本gradle,失败。
  5. 和其他同事环境做了对比后,发现只有JDK使用的版本不同,我是用的是1.8,其余的人都使用的是1.7。卸载1.8,重装1.7,搞定。

最后效果是CPU占用虽然较高,但是风扇不会像黄牛一场叫了。之后编译时间也降低到了30秒左右。

继续阅读 →

发表在 研发 | 标签为 , | 2条评论

android Activity生命周期(设备旋转、数据恢复等)与启动模式

1.Activity生命周期

接下来将介绍 Android Activity(四大组件之一) 的生命周期, 包含运行、暂停和停止三种状态,onCreate、onStart、onResume、onPause、onStop、onDestroy六种系统调用方法。

1.1 Activity生命周期简介与测试

生命周期

如图所示,Activity实例可以在生命周期状态发生关键性转换时完成某些工作。

onCreate() 创建,该方法是最常被覆盖的方法,第一次创建实例时调用, 一般用来完成实例创建的初始化操作,包括实例化组件,设置监听器,访问外部模型数据等。 onStart() 开始,当Activity处于可见状态的时候就会调用onStart方法,包括创建完实例显示,或者从其他活动切换到活动时调用。 onResume() 准备,当Activity获得用户焦点时调用。 onPause 暂停,当Activity准备调用或者恢复另一个活动时调用,失去焦点时,例如启动一个Dialog调用。该方法可以释放一些消耗CPU的资源,保存一些关键数据,但是执行速度要快,否则影响新的栈顶活动使用。 onStop 停止,完全不可见时调用。例如成功启动了另外一个活动,该活动离开栈顶不可见。启动Dialog不会执行该方法。 onDestroy 销毁,这个方法在活动销毁时调用。

// 可以使用以下方法进行测试。
public class MainActivity extends Activity {

继续阅读 →

发表在 研发 | 标签为 | 留下评论