我们知道,在主线程进行耗时任务会造成 ANR(Application Not Responding),其原因可能有:
- 5 秒内无法响应对输入事件(例如硬件点击或者屏幕触摸事件)
- BroadReceiver 不能够在 10 秒内执行完接收到的任务
- Service 在特定的时间内无法处理完成
有经验的同学都知道,网络操作、数据库读写、文件读写、大量计算等等这些耗时任务都应该做成异步的。但是,出于种种意外我们还是可能会碰到 ANR。
那我们用什么办法去应对呢?
我们知道,在主线程进行耗时任务会造成 ANR(Application Not Responding),其原因可能有:
有经验的同学都知道,网络操作、数据库读写、文件读写、大量计算等等这些耗时任务都应该做成异步的。但是,出于种种意外我们还是可能会碰到 ANR。
那我们用什么办法去应对呢?
在 Android 开发中,有时候需要 native 和 HTML5 页面进行交互,有两种方式:其一是给 WebView 添加 Javascript 回调接口,一种是拦截 WebView 的 url 从而达到交互的目的。
WebView 默认是禁用 JavaScript 的,所以要打开这项设置才能与之交互,方法如下:
|
|
假设我们现在要实现一个小功能:JavaScript 调用本地代码关掉当前 Activity,怎么做呢?
WebView 设置 JavaScript 接口使用的是方法:
|
|
当前开发环境:Android Studio 2.1.3,compileSdkVersion 24,buildToolsVersion “24.0.2”,support:appcompat-v7:24.2.0
首先放个图,这就是我要做成的效果,Toolbar 和 Status Bar 一体共用背景图,实际上就是 Toolbar 的背景图延伸到 Status Bar。
感谢向老师组织的新春读书活动,没有这么一群志同道合的人真的很难说坚持下来。这一个月的读书过程中我有几天读代码读文档读到整个人都很燥,一度想放弃,没想到还是坚持下来了。
假设你已经了解 依赖注入 这一概念,只是在如何使用 Dagger 时遇到了一些困扰,因为 Dagger 其实是一个上手难度颇高的库。我试图通过这篇文章解决如何上手这一问题。
目前 Dagger 有两个分支,一个由 Square 维护,一个为 Google 在前者的基础上开出的分支,即 Dagger 2 。关于二者的比较,点击此处 。
本文写作过程中参考了不少优秀的 Dagger 文章,列在文章末尾。
在此一并感谢他们的工作!
冒死总结!有些地方不知道怎么描述,自己动手感受一番吧。
我只总结了前面五分多钟讲的快捷方式。后面的高级技巧我还在学习中,坑慢慢填。已将 Tor Norbye 演讲的编辑技巧补充完。
再来一波更新~duang~还有最后的 NDK 调试和 CPU 优化调试没总结,有空再说,囧
补充一点:我的测试环境是 win7 + as 1.5,有错误的地方还请指出,谢谢。
昨天@陈启超同学发了 Android Studio for Experts (Android Dev Summit 2015) 的视频,我也跟着学习了一下。这个视频讲的非常好!做点小结,分享交流。
对模板工程的改造有可能造成 Android Studio 更新失败!
最近我从 1.5 -> 1.5.1 更新失败,就是对模板工程的改造造成了冲突!
中午 @drakeet 秀了一波他改造的两个小模板,另外还发了几张官方自带模板的本地位置图片,我也跟着改造了一把。
自定义的位置入口在这儿: