2016-10-26
转自:http://www.jianshu.com/p/a769a6028e51
前言Android 应用有一个明显的趋势—越来越多地使用动画效果来提升用户体验。但任何事情都是有代价的,丰富复杂的动画提升用户体验的同时,性能问题像隐形的恶魔一样,逐渐地侵蚀着你的应用。动画不流畅、界面卡顿开始困扰着你,逼着你进行性能优化。在这个优化过程中,最理想的标准就是...
阅读全文
2016-10-14
fork 原项目到自己仓库
拉取自己仓库中 fork 的项目
git clone 自己仓库地址
添加上游远程库的地址,否则无法追踪上游库的更新。这里指定上游库名为 upstream
git remote add upstream 远程库的地址
如果上游库有新的分支创建,自己仓库需要创建并切换到对应的分支。进行如下操作:
git fetch upstr...
阅读全文
2016-09-25
3.1 Android 中的消息机制
3.1.1 处理消息的手段——Handler、Looper 与 MessageQueue在 Android 应用启动时,会默认有一个主线程(UI 线程),在这个线程中会关联一个消息队列,所有的操作都会被封装成消息然后交给主线程来处理。为了保证主线程不会主动退出,会将获取消息的操作放在一个死循环中,这样程序就相当于一直在执...
阅读全文
2016-07-23
为了使用起来方便,装了 ubuntu 中文版,自然在 home 文件里用户目录的“桌面”、“图片”、“视频”、“音乐”……都是中文的。
很多时候都喜欢在桌面上放一些要操作的文件,linux 里命令行操作又多,难免会用命令行操作桌面上的东西,那么就要 “cd 桌面”,打“桌面”的时候要输入法切换,麻烦……所以就想办法把用户目录下的路径改成英文,而其他的中文不变...
阅读全文
2016-07-10
首先确保你的应用最低支持的 API 版本为 14(Android 4.0 ICS)以上。
应用切换至后台调用Application.onTrimMemory(int level),这个方法包含了一个等级叫TRIM_MEMORY_UI_HIDDEN,用于记录应用即将进入后台运行。
sample:
12345678910public class MyApplic...
阅读全文
2016-06-07
去年读的电子版写的读书笔记兼目录,放出来温习一下😊
第 1 章 数组及其内存管理1.1 数组初始化 p111.1.1 Java 数组是静态的 p11
数组静态初始化、动态初始化的 sample p11
Java 数组是静态的,一旦数组初始化完成,数组元素的内存空间分配即结束,程序只能改变数组元素的值,而无法改变数组的长度。
数组变量也是一种引用类型的变...
阅读全文
2016-03-29
首先是官网的架构图
从图中可以看出,整个 Android 操作系统分为五层。它们分别是:
内核层(Linux Kernel),这一层包含了 Linux Kernel 以及 Android 定制的一些改动。除此之外,Android 在 Linux 增加了一些定制的驱动,这些驱动通常与硬件无关,而是为了上层软件服务的,它们包括:
Binder: 进程间通讯...
阅读全文
2016-03-10
现在我们通过 AS 创建 Android 工程,会发现 ic_launcher 默认放在了 mipmap 文件夹下,而不是原来的 drawable 文件夹。那这个 mipmap 文件夹和 drawable 有啥区别呢?
关于 mipmap查了一下就是一种图形渲染技术
维基百科百科链接:Mipmap
两者的定义首先查询 google 官方资料http://de...
阅读全文
2016-03-08
2016-11-17 更新:如果已经了解运行时权限的基本使用,可以直接参考这篇文章:Android M 权限最佳实践
样例代码:https://github.com/kinneyyan/RuntimePermissionSample
1. 新的权限机制6.0 开始将权限分为两类。
一类是 Normal Permissions,这类权限一般不涉及用户隐私,...
阅读全文
2016-01-18
背景平时我们在开发中做分割线是非常频繁的事情,这里总结一下水平、垂直的实线、虚线的常见做法。对于垂直虚线给出了比较靠谱的解决方法。
水平、垂直实线1 若是在 LineayLayout 中需要添加分割线,可以在布局文件中使用如下两个属性:
12android:divider="@drawable"android:showDividers =...
阅读全文