Android开发技术周报 Issue#34

教程

  1. Google Develop for Android 系列

    前几天在G+上看到Google Developers站点,有一个Android系列的文章,分享到个人微博,周末闲来没事就学写了下,把它们简单的翻译了下,没想到一发不可收拾,六篇文章全部都翻译完了,有些地方省略了部分示例的描述或者换了另一种表述,如果有理解的不准确的地方,还望指正。

  2. Android内核开发:图解Android系统的启动过程

    学习任何软硬件系统,研究系统启动过程都是一种非常有效地起步手段,搞Android内核开发也不例外。网上有很多文章对Android启动相关代码进行分析和走读,大家可以先搜索阅读一下,我个人更喜欢更加直观的方式去理解未知的东西,包括图、表、系统输出的log信息等等,因此,本文准备通过一些流程图和log信息,来探索一下Android的启动过程。

  3. Android优化笔记

    什么样的应用才能称得上是优雅的App?这是腾讯内部一直在思考的问题,优雅的App就是把简单的事情做到极致,必须对终端应用性能进行打磨。在Android应用优化方面,主要包括内存和UI流畅度的问题,比如内存占用与泄露,UI流畅度的帧数和响应时间,IO的阻塞式响应时间等。

  4. Android 系统稳定性 - ANR(一)

    如果你是一个Android应用程序开发人员,你的人生中不可避免的三件事情是:死亡、缴税和ANR。这么说是夸张了,但是由于Android本身的设计,以及应用程序和系统在开发过程中的缺陷,经常会在测试过程中遇到各种各样的ANR问题。在功能性的测试中还少一些,主要是在压力测试中(例如Monkey测试)会遇到非常多的ANR问题。

  5. Android 系统稳定性 - ANR(二)

    引起ANR问题的根本原因,总的来说可以归纳为两类:1.应用进程自身引起的,例如:主线程阻塞、挂起、死循环,应用进程的其他线程的CPU占用率高,使得主线程无法抢占到CPU时间片其他进程间接引起的,例如:当前应用进程进行进程间通信请求其他进程,其他进程的操作长时间没有反馈,其他进程的CPU占用率高,使得当前应用进程无法抢占到CPU时间片,分析ANR问题时,以上述可能的几种原因为线索,通过分析各种日志信息,大多数情况下你就可以很容易找到问题所在了。

  6. Android 系统稳定性 - ANR(三)

    Android应用程序的所有标准组件全部运行在一个单一的主线程中,在主线程中所做的任何耗时的操作都有可能造成ANR,因为这些耗时的操作会使得主线程没有机会处理用户输入事件或者广播事件。因此在主线程中执行的任何函数所做的工作都应该尽可能的少,特别是对于Activity的生命周期函数来说。网络和数据库操作,以及诸如位图变换的一些耗时的操作,都应该放在子线程中完成。主线程不需要等待子线程的执行,主线程应该创建一个与其绑定的Handler对象,子线程执行完毕后通过Handler通知主线程。

  7. Android Design Support Library使用详解

    Google在2015的IO大会上,给我们带来了更加详细的Material Design设计规范,同时,也给我们带来了全新的Android Design Support Library,在这个support库里面,Google给我们提供了更加规范的MD设计风格的控件。最重要的是,Android Design Support Library的兼容性更广,直接可以向下兼容到Android 2.2。这不得不说是一个良心之作。

  8. 程序猿必看交互设计

    本文作者 Pasquale D'Silva 是 Elepath 的一位交互设计师兼产品设计师,在本文中,他从交互的角度阐释了优秀的设计应该具有的一些品质,或者说,优秀的产品该如何实现与用户的自然沟通。不得不说,有太多程序猿或者美工(注意,是美工,真正的设计师不会这么干)误把技术当艺术、把漂亮当设计了,真正重要的交互部分反而被忽略,你可以看看,一大批的产品都是近乎静态的,许多操作诡异至极.

  9. 完全掌握Android Data Binding

    本教程是跟着 Data Binding Guide 学习过程中得出的一些实践经验,同时修改了官方教程的一些错误,每一个知识点都有对应的源码,争取做到实践与理论相结合。Data Binding 解决了 Android UI 编程中的一个痛点,官方原生支持 MVVM 模型可以让我们在不改变既有代码框架的前提下,非常容易地使用这些新特性。其实在此之前,已经有些第三方的框架(RoboAndroid) 可以支持 MVVM 模型,无耐由于框架的侵入性太强,导致一直没有流行起来。

  10. 防御性编程与疯狂偏执性编程

    当程序员遇到意想不到又不能修复的bug时,,他们会“添加一些防御性的代码”,这不但可以使得代码更安全,还更容易发现问题。有时候这样的行为甚至可以直接消灭问题。开发人员还会进行数据验证——确保检查输入和输出域和返回值;审查和改进错误处理——可能会围绕一些“不可能”的条件做一些检查;添加一些有用的日志记录和诊断。换句话说,问题代码优先。

代码&开源库

  1. FABProgressCircle

    围绕 FloatingActionButton 的圆形进度条效果。

  2. bottomsheet

    Android component which presents a dismissible view from the bottom of the screen.

  3. AppIntro

    可以让你在自己的App里实现很Cool的引导页效果的库.

  4. Nammu

    运行时权限检查助手.

  5. ColorPhrase

    一个可以根据指定分隔符字符串包含的文本格式化为指定颜色的Library.

  6. colorize

    Android quick access to 1000+ preloaded colors! 一个可以让你快速使用1000多个预置颜色的库。

  7. WheelIndicatorView 
    模仿 Google Fit 的活动指示进度效果.

  8. EdittextWithTag

    可以将输入EditText的内容自动转换为一个Tag效果。

  9. PopSeekbar

    一个漂亮的自定义SeekBar。

  10. Cult

    Cult提供一个新的工具栏布局,可以让你使用一个自定义的SearchView动画等等。

  11. WaveCompat

    Activity 波纹动画效果兼容库.

  12. CircleTimerView

    效果很赞的圆形计时器View.

  13. PlayAnimations

    PlayGames app中各种动画效果的demo。

  14. ParallaxSplash

    视差动画的引导页.

工具

  1. Android Studio 1.2.2

  2. ormlite-android-gradle-plugin

    一个可以帮助你生成 ORMLite 的配置文件的 Android Studio 插件。

新闻

  1. 谷歌推出智能密码锁

    谷歌在I/O 2015大会上宣布了“谷歌身份平台(Google Identity Platform)”,这是一个跨Android、iOS和Web应用程序管理身份以及处理身份验证与授权的工具和API 集合。除了大家熟悉的Sign-in,为了使用户能够使用他们的谷歌账户登录,谷歌推出了“智能密码锁(Smart Lock for Passwords)”,目前只能用在Android上,以后也可能扩展到iOS。

视频

  1. Android Performance Patterns系列视频

    Google官方推出的一系列帮助你优化Android App性能视频,@hi大头鬼hi 同学把它们全部搬到了墙内,还没看的小伙伴赶紧去看看吧。

  1. Producter

    一本涵盖 设计,交互,动效,iOS开发,Swift,营销的跨界作品 — 《Producter》。一本很不错的书,推荐大家看一下。独立完成一款产品是很多人的梦想,也是我的梦想,但是单单完成一个作品并没有什么价值,真正完成一款优秀的作品的难度远超过了 “完成” 这个词语。设计上的锤炼,编程技艺的精进,营销的思考,让很多人都在起步阶段就放弃了。从来没有一本书,去讲如何完整的完成这件事情。

设计

资源

  1. TO-DO APP UI KIT

    一个TO-DO APP UI全套设计资源,可以免费下载和使用,包含Photoshop和Sketch双版本。

教程

    1. 免费了,切图标记外挂神器 Assistor PS 深入解读(上)

      与其他切图标记软件不同的是,Assistor PS 是完全独立于 PS 本身的,说是一个外挂更加合适,旨在提高切图标记的效率及速度。虽然不是一个插件,但是它与 PS 是连通的,当你在 PS 选择一个图层在后,即可使用它的功能。如果你肯花点时间下载是试用,相信不会让你失望,甚至能可能让你觉得相见恨晚。

    2. 免费了,切图标记外挂神器 Assistor PS 深入解读(下)

      在 切图标记外挂 Assistor PS 深入解读(上)中,我给大家介绍了即将免费的切图标记外挂 Assistor PS 强大的标记功能,然后,这个神器的功能仅仅如此?本文将为介绍 Assistor PS 其他丧心病狂的功能:创建引导框,一键全自动切图,创建参考线,单位转换器,取色器,圆角矩形转换,按照固定间隔复制图层等。

转载于:https://www.cnblogs.com/stewartlj/p/5684749.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/372643.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

php进度条插件,分享8款优秀的 jQuery 加载动画和进度条插件_jquery

加载动画和进度条在网站和 Web 应用中的使用非常流行。虽然网速越来越快,但是我们的网站越来越复杂,同时用户对网站的使用体验的要求也越来越高。在内容加载缓慢的时候,使用时尚的加载动画和进度条告诉用户还有内容正在加载是一种非常好的方式…

卷积神经网络(CNN)与特殊的卷积

各种卷积操作的可视化的显示形式:GitHub - vdumoulin/conv_arithmetic: A technical report on convolution arithmetic in the context of deep learning1. fractionally-strided 卷积 如上图示,输入为 33 ,想要卷积上采样成 55 的输出。需要…

JBoss AS 7:自定义登录模块

JBoss AS 7很整洁,但是仍然缺少文档(错误消息没有那么有用)。 这篇文章总结了如何创建自己的兼容JavaEE的登录模块,以对部署在JBoss AS上的Web应用程序的用户进行身份验证。 提供了一个工作的基本用户名密码模块。 为什么要使用Ja…

MySQL安装步骤及相关问题解决

1. 下载MySQL Server,网址:http://dev.mysql.com/downloads/mysql/ 2. 点击MySQL5.5.21的安装文件,出现安装向导界面,单击“next”继续安装: 3. 选择接受协议,单击“next”继续安装: 4. 在出现选…

matlab的数学函数,matlab中常见数学函数的使用

matlab中常见数学函数的使用 MATLAB 基本知识 Matlab 的内部常数 pi 圆周率 exp(1) 自然对数的底数 e i 或 j 虚数单位 Inf 或 inf 无穷大 Matlab 的常用内部数学函数 指数函数 exp(x) 以 e 为底数 log(x) 自然对数,即以 e 为底数的对数 log10(x) 常用对数&#xff…

C++中 list与vector的区别

C中 list与vector的区别 引用http://www.cnblogs.com/shijingjing07/p/5587719.html C vector和list的区别 1.vector数据结构vector和数组类似,拥有一段连续的内存空间,并且起始地址不变。因此能高效的进行随机存取,时间复杂度为o(1);但因为内…

使用Struts 2的查询网格(无插件)

当将jQuery与struts 2一起使用时,开发人员被说服使用struts2-jQuery插件 。 因为大多数论坛和其他Internet资源都支持struts2 jQuery插件。我有这种经验。 我想将Struts 2使用jQuery Grid插件,但不使用struts2 jQuery插件。 对于我而言,很难找…

php reflectionmethod,PHP ReflectionMethod getClosure()用法及代码示例

ReflectionMethod::getClosure()函数是PHP中的一个内置函数,用于为该方法返回动态创建的闭包,否则,在出现错误的情况下返回NULL。用法:Closure ReflectionMethod::getClosure ( $object )参数:该函数接受参数对象,该参…

java学习笔记--IO流

第十二章大纲: I/O input/output 输入/输出 一、创建文件,借助File类来实现 file.createNewFile() : 创建文件 file.exists() : 判断文件是否存在,如果存在,则返回true delete() : 删除文件&…

linux命令之kill篇

作业四:查询firewall进程,然后杀死 [rootlocalhost 桌面]# ps -aux |grep firewall root 772 0.0 2.0 327912 20704 ? Ssl 15:23 0:00 /usr/bin/python -Es /usr/sbin/firewalld --nofork --nopid root 5323 0.0 0.0 112660…

ActiveMQ网络连接器

这篇文章对我和任何对网络连接器如何为ActiveMQ工作感兴趣的ActiveMQ贡献者而言都是更多的内容。 我最近花了一些时间查看代码,并认为最好画一些快速的图表来帮助我记住我学到的东西,并在将来发现问题时帮助将来确定在哪里进行调试。 如果我输入有误&…

《程序设计与数据结构》第3周学习总结

学号 20162317 《程序设计与数据结构》第3周学习总结 教材学习内容总结 第三章的内容相比之前两章更为具体,介绍的内容更为集中,主要说到了类和对象的问题,其中也仔细介绍了String类、Random类、Math类、NumberFormat类等类。此外也说到了与类…

Java中带有JWebSocket的WebServerSocket

首先&#xff0c;转到http://jwebsocket.org/下载2个软件包Server and Client。 如果要查看源代码&#xff0c;请下载源代码包。 服务器 解压缩服务器程序包。 转到“ conf”文件夹 选择“ jWebSocket.xml”文件打开 编辑“ jWebSocket.xml”文件&#xff0c;在标签<dom…

OpenCV入门指南----人脸检测

本篇介绍图像处理与模式识别中最热门的一个领域——人脸检测&#xff08;人脸识别&#xff09;。人脸检测可以说是学术界的宠儿&#xff0c;在不少EI&#xff0c;SCI高级别论文都能看到它的身影。甚至很多高校学生的毕业设计都会涉及到人脸检测。当然人脸检测的巨大实用价值也让…

matlab提取艾里斑,艾里斑:我不是雀斑

正是艾里斑&#xff0c;限制了光学仪器的精度我们知道凸透镜能把入射光会聚到它的焦点上&#xff0c;由于透镜的口径有一定大小&#xff0c;限制了光线的传播&#xff0c;所以凸透镜也会发生衍射。这导致透镜无法把光线会聚成无限小的点&#xff0c;而只会在焦点上形成具有一定…

mysql启动错误排查-无法申请足够内存

一般情况下mysql的启动错误还是很容易排查的&#xff0c;但是今天我们就来说一下不一般的情况。拿到一台服务器&#xff0c;安装完mysql后进行启动&#xff0c;启动错误如下&#xff1a; 有同学会说&#xff0c;哥们儿你是不是buffer pool设置太大了&#xff0c;设置了96G内存。…

Spring vs Guice:重要的一个关键区别

根据弹簧对象的名称识别它们 不管使用XML还是Java配置都没有关系&#xff0c;Spring范围大致类似于Map <String&#xff0c;Object>结构。 这意味着您不能有两个名称相同的对象 。 为什么这是一件坏事&#xff1f; 如果您的大型应用程序包含许多Configuration类或XML文件…

php 批量更新死锁,php – 在尝试获取锁定时,哪个查询导致死锁;尝试重新启动事务...

我无法弄清楚哪个Query在尝试获取锁定时导致死锁;尝试重新启动事务.我的mysql包装器有以下几行if (mysql_errno($this->conn) 1213) {$this->bug_log(0,"Deadlock. SQL:".$this->sql);}bug_log写入文件的位置.错误日志文件没有死锁错误,但/var/log/mysqld.…

Task和BackTask

一、总结性知识点&#xff1a; 1、Android应用运行时会创建任务Task&#xff0c;用于存放主窗口2、每一个任务包含一个堆栈数据结构&#xff0c;用于保存当前应用已创建的窗口对象&#xff0c;这个堆栈即回退栈BackStack3&#xff64; 位于回退栈顶的窗口会处于焦点状态4&#…

Java面试题二

1、public、private、protected、Friendly的区别与作用域 public,protected,friendly,private的访问权限如下&#xff1a; 关键字 当前类 包内 子孙类 包外 public √ √ √ √ protected…