<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[路漫漫 其修远]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/maatli</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; maatli]]></copyright><item><title><![CDATA[精通安卓性能优化-第八章（四）]]></title><link>https://blog.youkuaiyun.com/maatli/article/details/38059249</link><guid>https://blog.youkuaiyun.com/maatli/article/details/38059249</guid><author>maatli</author><pubDate>Wed, 23 Jul 2014 11:37:14 +0800</pubDate><description><![CDATA[Manifest
OpenGL应用的manifest需要指定两件事：
(1) 需要设备支持哪个OpenGL版本
(2) 应用支持哪种材质压缩格式
Listing 8-16给出了如何指定设备支持OpenGL 2.0和应用支持两种压缩格式：ETC1和PVRTC。
Listing 8-16 Manifest和OpenGL]]></description><category></category></item><item><title><![CDATA[精通安卓性能优化-第八章（三）]]></title><link>https://blog.youkuaiyun.com/maatli/article/details/38052309</link><guid>https://blog.youkuaiyun.com/maatli/article/details/38052309</guid><author>maatli</author><pubDate>Tue, 22 Jul 2014 22:36:06 +0800</pubDate><description><![CDATA[OpenGL ES
在现在的Android设备和应用上3D渲染变得越来越重要。成为一个3D渲染专家需要很多的时间，为了使用3D渲染，接下来的部分介绍几个简单实现的技术，以及需要意识到的几个基本的思想。如果想学习更多的Android OpenGL ES，你可以参考"Pro OpenGL ES for Android"。
大多数当前的Android设备支持OpenGL ES 1.1和OpenGL ]]></description><category></category></item><item><title><![CDATA[精通安卓性能优化-第八章（二）]]></title><link>https://blog.youkuaiyun.com/maatli/article/details/38046527</link><guid>https://blog.youkuaiyun.com/maatli/article/details/38046527</guid><author>maatli</author><pubDate>Tue, 22 Jul 2014 17:46:02 +0800</pubDate><description><![CDATA[复用Layout
和在C/C++中直接#include相似，Android在XML布局中支持标签。简单的使标签包含另外一个XML布局，如Listing 8-7所示。
标签可以为两个目的使用：
(1) 你期望多次使用同样的布局
(2) 你的布局有个通用部分，依赖于设备配置（比如，屏幕方向：landscapte或者protrait）
Listing 8-7给出了当覆盖某些included的布]]></description><category></category></item><item><title><![CDATA[精通安卓性能优化-第八章（一）]]></title><link>https://blog.youkuaiyun.com/maatli/article/details/38044139</link><guid>https://blog.youkuaiyun.com/maatli/article/details/38044139</guid><author>maatli</author><pubDate>Tue, 22 Jul 2014 16:09:28 +0800</pubDate><description><![CDATA[第八章 Graphics
你经常需要花费很多时间去定义你的应用的样子。不管是一个使用标准Android控件的e-mail应用或者使用OpenGL ES的游戏，当浏览应用商店比如Android市场或者Amazon应用市场的时候，你的应用看起来什么样子是用户首先会注意到的。
一个看起来很好的应用，但是图片的显示很慢或者更新很慢，很可能不会有很大的点击量。相似的，一个游戏如果渲染质量很高，但是帧率很]]></description><category></category></item><item><title><![CDATA[精通安卓性能优化-第七章（四）]]></title><link>https://blog.youkuaiyun.com/maatli/article/details/38039147</link><guid>https://blog.youkuaiyun.com/maatli/article/details/38039147</guid><author>maatli</author><pubDate>Tue, 22 Jul 2014 12:11:53 +0800</pubDate><description><![CDATA[传感器
传感器是有趣的。每个人都喜欢并且希望去使用它们。使用传感器的方式和使用Location Provider的方式相似：应用针对指定的传感器注册一个sensor listener，会被通知更新。Listing 7-15给出了你如何注册一个设备加速器的listener。
Listing 7-15 注册一个加速器的传感器]]></description><category></category></item><item><title><![CDATA[精通安卓性能优化-第七章（三）]]></title><link>https://blog.youkuaiyun.com/maatli/article/details/38018099</link><guid>https://blog.youkuaiyun.com/maatli/article/details/38018099</guid><author>maatli</author><pubDate>Tue, 22 Jul 2014 12:06:23 +0800</pubDate><description><![CDATA[定位
任何房地产经纪人将告诉你3个最重要的事情是：locaiton, location, location。Android理解这件事，并且允许应用知道设备在哪里。（不会告诉你设备正在一个好学区，尽管我很确定有个这样的应用）Listing 7-8给出了如何使用系统的定位服务请求location更新。]]></description><category></category></item><item><title><![CDATA[精通安卓性能优化-第七章（二）]]></title><link>https://blog.youkuaiyun.com/maatli/article/details/37969933</link><guid>https://blog.youkuaiyun.com/maatli/article/details/37969933</guid><author>maatli</author><pubDate>Sat, 19 Jul 2014 22:15:56 +0800</pubDate><description><![CDATA[关闭Broadcast Receiver
为了保存电量，应用应该避免执行无目的的代码。在上面的实例中，当用户界面不在最前的时候去更新Textview的text是没有价值的，仅仅无必要的从电池提取能量。
除了ACTION_BATTERY_CHANGED的sticky intent包含电池信息，Android定义了其他的四个intent，你的应用可以使用：
(1) ACTION_BATTERY_]]></description><category></category></item><item><title><![CDATA[精通安卓性能优化-第七章（一）]]></title><link>https://blog.youkuaiyun.com/maatli/article/details/37930997</link><guid>https://blog.youkuaiyun.com/maatli/article/details/37930997</guid><author>maatli</author><pubDate>Fri, 18 Jul 2014 18:28:43 +0800</pubDate><description><![CDATA[第七章 最大化电池使用时间]]></description><category></category></item><item><title><![CDATA[精通安卓性能优化-第六章（三）]]></title><link>https://blog.youkuaiyun.com/maatli/article/details/37929903</link><guid>https://blog.youkuaiyun.com/maatli/article/details/37929903</guid><author>maatli</author><pubDate>Fri, 18 Jul 2014 14:56:36 +0800</pubDate><description><![CDATA[Native Tracing
除了使用startMethodTracing() API分析Java方法外，安卓同样支持native tracing（包括核心代码）。Native tracing也被称为QEMU tracing。本段学习如何产生QEMU trace文件，怎么样将他们转换为Traceview可以理解的文件。
为了产生QEMU trace，需要做两件事：
(1) 使用-trace选]]></description><category></category></item><item><title><![CDATA[精通安卓性能优化-第六章（二）]]></title><link>https://blog.youkuaiyun.com/maatli/article/details/37927381</link><guid>https://blog.youkuaiyun.com/maatli/article/details/37927381</guid><author>maatli</author><pubDate>Fri, 18 Jul 2014 14:50:58 +0800</pubDate><description><![CDATA[Tracing
一旦发现了什么需要花费太多的时间，你很可能希望可以了解更多的细节，哪个方法是罪魁祸首。你可以在tracing-specific方法帮助下创建trace文件，通过Traceview工具去分析他们。]]></description><category></category></item><item><title><![CDATA[精通安卓性能优化-第六章（一）]]></title><link>https://blog.youkuaiyun.com/maatli/article/details/37914983</link><guid>https://blog.youkuaiyun.com/maatli/article/details/37914983</guid><author>maatli</author><pubDate>Thu, 17 Jul 2014 21:32:38 +0800</pubDate><description><![CDATA[第六章 基准测量和分析]]></description><category></category></item><item><title><![CDATA[精通安卓性能优化-第五章（四）]]></title><link>https://blog.youkuaiyun.com/maatli/article/details/37905559</link><guid>https://blog.youkuaiyun.com/maatli/article/details/37905559</guid><author>maatli</author><pubDate>Thu, 17 Jul 2014 13:58:48 +0800</pubDate><description><![CDATA[Activity生命周期
你创建的线程不会自动意识到activity生命周期的变化。比如，你孵化的一个线程不会注意到activity的onStrop()方法被调用，activity不会再可见，或者你的activity的onDestroy()方法被调用。这意味着你需要去做额外的事情使得应用的生命周期和你的线程同步。Listing 5-20显示了一个简单的示例，在activity被销毁后AsyncT]]></description><category></category></item><item><title><![CDATA[精通安卓性能优化-第五章（三）]]></title><link>https://blog.youkuaiyun.com/maatli/article/details/37901663</link><guid>https://blog.youkuaiyun.com/maatli/article/details/37901663</guid><author>maatli</author><pubDate>Thu, 17 Jul 2014 12:13:19 +0800</pubDate><description><![CDATA[Concurrency
在java.util.concurrent.atomic和java.util.concurrent.locks包中定义了更多的类。java.util.concurrent.atomic包包含如下的类：
(1) AtomicBoolean
(2) AtomicInteger
(3) AtomicIntegerArray
(4) AtomicIntegerFieldU]]></description><category></category></item><item><title><![CDATA[精通安卓性能优化-第五章（二）]]></title><link>https://blog.youkuaiyun.com/maatli/article/details/37885559</link><guid>https://blog.youkuaiyun.com/maatli/article/details/37885559</guid><author>maatli</author><pubDate>Wed, 16 Jul 2014 23:12:42 +0800</pubDate><description><![CDATA[Handlers and Loopers
安卓在android.os包中定义了两个类，作为在多线程应用中通信的基石：
1） Handler
2） Looper


当创建一个AsynTask对象，隐藏了Handler和Looper的细节，在一些情况下，你需要去显式的使用handlers和loopers，比如，当你需要去post一个Runnable对象到其他线程而不是主线程。]]></description><category></category></item><item><title><![CDATA[精通安卓性能优化-第五章（一）]]></title><link>https://blog.youkuaiyun.com/maatli/article/details/37832515</link><guid>https://blog.youkuaiyun.com/maatli/article/details/37832515</guid><author>maatli</author><pubDate>Tue, 15 Jul 2014 21:40:20 +0800</pubDate><description><![CDATA[第五章 多线程与同步]]></description><category></category></item><item><title><![CDATA[精通安卓性能优化-第四章（五）]]></title><link>https://blog.youkuaiyun.com/maatli/article/details/37773609</link><guid>https://blog.youkuaiyun.com/maatli/article/details/37773609</guid><author>maatli</author><pubDate>Mon, 14 Jul 2014 22:55:38 +0800</pubDate><description><![CDATA[引用
尽管释放内存是垃圾回收器的一个重要功能，它还可以做的更多，是一个完整的内存管理系统。每个写过Java代码的人都听过引用，一个对象怎样被引用或者不被引用。然而，很少有人知道引用的多种类型。实际上Java定义了4种类型的引用：
(1) Strong
(2) Soft
(3) Weak
(4) Phantom]]></description><category></category></item><item><title><![CDATA[精通安卓性能优化-第四章（四）]]></title><link>https://blog.youkuaiyun.com/maatli/article/details/37729507</link><guid>https://blog.youkuaiyun.com/maatli/article/details/37729507</guid><author>maatli</author><pubDate>Sat, 12 Jul 2014 22:04:01 +0800</pubDate><description><![CDATA[排列你的数据]]></description><category></category></item><item><title><![CDATA[精通安卓性能优化-第四章（三）]]></title><link>https://blog.youkuaiyun.com/maatli/article/details/37728195</link><guid>https://blog.youkuaiyun.com/maatli/article/details/37728195</guid><author>maatli</author><pubDate>Sat, 12 Jul 2014 21:58:10 +0800</pubDate><description><![CDATA[其他算法
我们已经看到不同的数据类型对产生的代码怎样的影响，现在是时间去看当处理大量数据的时候一些稍微复杂的算法。
Listing 4-10给出了3个简单的方法：一个简单的调用Arrays.sort()去排列一个array，一个查找Array中的最小的值，另一个把array里面所有的元素加和。]]></description><category></category></item><item><title><![CDATA[精通安卓性能优化-第四章（二）]]></title><link>https://blog.youkuaiyun.com/maatli/article/details/37706303</link><guid>https://blog.youkuaiyun.com/maatli/article/details/37706303</guid><author>maatli</author><pubDate>Fri, 11 Jul 2014 23:15:05 +0800</pubDate><description><![CDATA[比较值
现在让我们考虑另外一个基本函数，需要两个参数并且依赖于第一个参数是否比第二个大返回0或者1，如Listing 4-8所示。

Listing 4-8 比较]]></description><category></category></item><item><title><![CDATA[精通安卓性能优化-第四章（一）]]></title><link>https://blog.youkuaiyun.com/maatli/article/details/37704315</link><guid>https://blog.youkuaiyun.com/maatli/article/details/37704315</guid><author>maatli</author><pubDate>Fri, 11 Jul 2014 23:04:11 +0800</pubDate><description><![CDATA[第四章 有效使用内存]]></description><category></category></item></channel></rss>