<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Shawn]]></title><description><![CDATA[Keep Walking！]]></description><link>https://blog.youkuaiyun.com/a15874647</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; a15874647]]></copyright><item><title><![CDATA[基础应用框架之Image Pool]]></title><link>https://blog.youkuaiyun.com/a15874647/article/details/41726615</link><guid>https://blog.youkuaiyun.com/a15874647/article/details/41726615</guid><author>a15874647</author><pubDate>Thu, 04 Dec 2014 16:46:25 +0800</pubDate><description><![CDATA[本章介绍基础应用框架层的Image
 Pool模块。Image Pool模块提供了服务端图片下载的统一解决方案。通过控制图片内存使用量;减少图片重复下载;与Android
 View的无缝结合等，提供图片下载的最佳实践。

 

1.1                     特性 Feature

1.1.1                      图片内存管理

在And]]></description><category></category></item><item><title><![CDATA[一些非常实用的 Android 开发资源 【转】]]></title><link>https://blog.youkuaiyun.com/a15874647/article/details/41726449</link><guid>https://blog.youkuaiyun.com/a15874647/article/details/41726449</guid><author>a15874647</author><pubDate>Thu, 04 Dec 2014 16:36:11 +0800</pubDate><description><![CDATA[1.  Android
 Annotations 

Android Annotations是一个能够加速Android开发的开源框架，它可以帮助开发者处理一些前后台任务、rest服务、应用类、代码片段等，让开发者专注于真正重要的东西。 

2.  ActionBarSherlok 

ActionBarSherlock是一个扩展的Android支持库，旨在允许开发者通过一个单一的A]]></description><category></category></item><item><title><![CDATA[SPDY协议的Android实现 OKHTTP代码分析]]></title><link>https://blog.youkuaiyun.com/a15874647/article/details/41726099</link><guid>https://blog.youkuaiyun.com/a15874647/article/details/41726099</guid><author>a15874647</author><pubDate>Thu, 04 Dec 2014 16:18:24 +0800</pubDate><description><![CDATA[1 概况 Introduction
在Android上我们用开源项目OkHttp作为客户端的SPDY协议栈链接支持SPDY的网站，如Taobao CDN等。本文主要分析OkHttp是如何在Android的通信层扩展SPDY。先简要介绍一下SPDY。
SPDY的主要目标：
单个tcp连接支持并发的Http请求。这主要是解决目前http协议的一个连接只能服务一次请求的问题。
压缩请求/响应头。]]></description><category></category></item><item><title><![CDATA[jvm开发笔记5 - 虚拟机内存管理]]></title><link>https://blog.youkuaiyun.com/a15874647/article/details/41725863</link><guid>https://blog.youkuaiyun.com/a15874647/article/details/41725863</guid><author>a15874647</author><pubDate>Thu, 04 Dec 2014 16:07:27 +0800</pubDate><description><![CDATA[一、 前言


     ajvm是笔者正在开发中的一个java虚拟机， 想通过编写这个jvm帮助程序员了解jvm的具体实现细节， 它是国内第一个开源的java虚拟机项目：https://github.com/cloudsec/ajvm，
 同时笔者把它的开发笔记也分享到了ata上。 在前面4篇笔记中， 已经实现了class文件加载器， 反汇编器，jvm的crash信息处理， 同时它已经能]]></description><category></category></item><item><title><![CDATA[jvm开发笔记4---jvm crash信息处理]]></title><link>https://blog.youkuaiyun.com/a15874647/article/details/41725829</link><guid>https://blog.youkuaiyun.com/a15874647/article/details/41725829</guid><author>a15874647</author><pubDate>Thu, 04 Dec 2014 16:05:22 +0800</pubDate><description><![CDATA[ajvm是一个笔者正在开发中的java虚拟机， 用c和少量汇编语言编写， 目的在于探究一个可运行的java虚拟机是如何实现的， 目前整个jvm的source code代码量在5000行左右， 预计控制在1w行以内，只要能运行简单的java代码即可。笔者希望ajvm能变成一个教学用的简单java虚拟机实现， 帮助java程序员在陷入庞大的hotspot vm源码之前， 能对jvm的结构有个清晰的认识]]></description><category></category></item><item><title><![CDATA[jvm开发笔记3---java虚拟机雏形]]></title><link>https://blog.youkuaiyun.com/a15874647/article/details/41725793</link><guid>https://blog.youkuaiyun.com/a15874647/article/details/41725793</guid><author>a15874647</author><pubDate>Thu, 04 Dec 2014 16:03:29 +0800</pubDate><description><![CDATA[一、背景

    笔者希望通过自己动手编写一个简单的jvm来了解java虚拟机内部的工作细节毕竟hotsopt以及android的dalvik都有几十万行的c代码级别。 在前面的2篇开发笔记中已经实现了一个class文件解析器和一个java反汇编器 在这基础上 java虚拟机的雏形也已经写好。还没有内存管理功能 没有线程支持。它能解释执行的指令取决于我的java语法范围 在这之前我对java]]></description><category></category></item><item><title><![CDATA[jvm开发笔记2---java反汇编器]]></title><link>https://blog.youkuaiyun.com/a15874647/article/details/41725751</link><guid>https://blog.youkuaiyun.com/a15874647/article/details/41725751</guid><author>a15874647</author><pubDate>Thu, 04 Dec 2014 16:02:31 +0800</pubDate><description><![CDATA[这两天在class文件解析器的基础上， 加上了java反汇编的功能， 反汇编器是指令解释器的基础，通过编写反汇编器可以熟悉jvm的指令系统， 不过jvm的指令一共有201个，反汇编过程基本就是个体力活。在《java虚拟机规范》中对每一条指令都有了详细的描述，下面说说我是如何解析bytecode的：

一个java文件经过javac编译后会生成class格式文件， 在class格式中method]]></description><category></category></item><item><title><![CDATA[jvm开发笔记1---class文件解析器]]></title><link>https://blog.youkuaiyun.com/a15874647/article/details/41725695</link><guid>https://blog.youkuaiyun.com/a15874647/article/details/41725695</guid><author>a15874647</author><pubDate>Thu, 04 Dec 2014 15:59:54 +0800</pubDate><description><![CDATA[笔者最近对java虚拟机产生了浓厚的兴趣， 想了解下最简单的jvm是如何写出来的，于是看起了《java虚拟机规范》，这个规范如同intel开发手册一样，是每个jvm开发人员必须掌握的。 要想翻译执行java byte code， 首先得从java class文件中把Code属性解析出来才行。 在笔者看来， java的class文件结构着实比elf文件结构复杂很多，不过在复杂的结构， 只要耐心对照着]]></description><category></category></item><item><title><![CDATA[理解堆栈及其利用方法]]></title><link>https://blog.youkuaiyun.com/a15874647/article/details/41725135</link><guid>https://blog.youkuaiyun.com/a15874647/article/details/41725135</guid><author>a15874647</author><pubDate>Thu, 04 Dec 2014 15:28:12 +0800</pubDate><description><![CDATA[下午详细膜拜了一浪大牛的《无符号和栈破坏情况下coredump的分析方法》， 此刻惊魂未定，激动不已， 既然谈到了堆栈， 就跟大家分享下我认识和理解的堆栈， 希望对大家有所帮助。

 

 

更新：

 

1、对于堆栈的结构， 我是按x86架构画的， x86_64结构大致相同， 只是函数参数是通过rdi, rsi etc来传递，没有压入堆栈里。

2、本文介绍了堆栈的结]]></description><category></category></item><item><title><![CDATA[Android的线程和内存模型]]></title><link>https://blog.youkuaiyun.com/a15874647/article/details/41724143</link><guid>https://blog.youkuaiyun.com/a15874647/article/details/41724143</guid><author>a15874647</author><pubDate>Thu, 04 Dec 2014 14:42:31 +0800</pubDate><description><![CDATA[Android的线程和内存模型

Android操作系统在boot后，会启动一个Zygote(受精卵)进程，Zygote进程负责创建大部分应用程序进程。Zygote进程启动加载核心程序库和数据结构到内存后会创建一个Dalvik虚拟机（DVM）进程－-SystemServer，此进程会包含大部分的系统服务（包括管理Activity的服务ActivityManagerService），System]]></description><category></category></item><item><title><![CDATA[android程序自动化生成apk的过程]]></title><link>https://blog.youkuaiyun.com/a15874647/article/details/41699683</link><guid>https://blog.youkuaiyun.com/a15874647/article/details/41699683</guid><author>a15874647</author><pubDate>Wed, 03 Dec 2014 17:15:19 +0800</pubDate><description><![CDATA[在编写android的时候,写好java代码后，eclipse直接帮我们生成了可安装的apk，但有时需要自动化的去生成个性化apk的时候，我们就需要编写脚本或代码来自动生成一个apk，在生成apk之前必须了解下android编译apk的过程;

 







现在很多人想对Android工程的编译和打包进行自动化，比如建立每日构建系统、自动生成发布文件等等。这些都需要我们对]]></description><category></category></item><item><title><![CDATA[Android 插件化]]></title><link>https://blog.youkuaiyun.com/a15874647/article/details/39209441</link><guid>https://blog.youkuaiyun.com/a15874647/article/details/39209441</guid><author>a15874647</author><pubDate>Thu, 11 Sep 2014 17:58:41 +0800</pubDate><description><![CDATA[1、作用

大多数朋友开始接触这个问题是因为 App 爆棚了，方法数超过了一个 Dex 最大方法数 65535 的上限，从这个介绍中也知道可以通过多个 Dex 来解决这个问题，因而便有了插件化的概念，将一个 App 划分为多个插件（Dex或相关格式）
常用的其他解决方法还包括：删无用代码，用 H5 代替部分逻辑，买付费版的 Proguard
插件化的其他作用包括：(1) 模块解耦，(2) ]]></description><category></category></item><item><title><![CDATA[OpenGL ES九 - 四元数]]></title><link>https://blog.youkuaiyun.com/a15874647/article/details/16821711</link><guid>https://blog.youkuaiyun.com/a15874647/article/details/16821711</guid><author>a15874647</author><pubDate>Tue, 19 Nov 2013 12:19:27 +0800</pubDate><description><![CDATA[注：原作者没有完成骨骼动画的章节，这是我们找到的最后一篇了


在进入下一篇关于骨骼动画的文章之前，让我们先花点时间来了解一个马上会使用到的新数据类型：四元数[译者注:关于四元数的概念可以参考这个链接:点我]。我们用四元数存储单一骨骼在3个轴线上的旋转信息，换句话说，存储的是骨骼指向的方向。在下一部分介绍的仿真骨骼动画中，你将会看到，模型的顶点是同一个或多个骨骼相关联的，当骨骼移动时它们也会]]></description><category></category></item><item><title><![CDATA[OpenGL ES九 -动画基础和关键帧动画]]></title><link>https://blog.youkuaiyun.com/a15874647/article/details/16821701</link><guid>https://blog.youkuaiyun.com/a15874647/article/details/16821701</guid><author>a15874647</author><pubDate>Tue, 19 Nov 2013 12:17:51 +0800</pubDate><description><![CDATA[最初这篇教程我并不打算作为第9章发布，原计划是第10章。在深入了解Opengl ES 2.0 和着色器之前，我想讨论下更基础的：动画。



注意：你可以在这里找到这篇教程的配套代码，新版本的代码已经在西部时间10：14更新了，更新的代码里面修正了一个不能动画的错误。

目前为止，想必你已经看过了opengles最基本的动画形式。通过随时间改变rotate, translate, sc]]></description><category></category></item><item><title><![CDATA[OpenGL ES八 - 交叉存取顶点数据]]></title><link>https://blog.youkuaiyun.com/a15874647/article/details/16821681</link><guid>https://blog.youkuaiyun.com/a15874647/article/details/16821681</guid><author>a15874647</author><pubDate>Tue, 19 Nov 2013 12:16:35 +0800</pubDate><description><![CDATA[Technote 2230提出了很多用OpenGL ES来提升iphone程序性能的建议。我们现在远远不能深刻理解OpenGL ES所以你需要学习以下内容。不信？是真的，试试看，我等着你的读后感。

好，就这样定了？副标题为“优化顶点数据”,这里有一些算法上的建议用来"submit strip-ordered indexed triangles with per vertex data int]]></description><category></category></item><item><title><![CDATA[OpenGL ES四补遗 – setupView重写]]></title><link>https://blog.youkuaiyun.com/a15874647/article/details/16821649</link><guid>https://blog.youkuaiyun.com/a15874647/article/details/16821649</guid><author>a15874647</author><pubDate>Tue, 19 Nov 2013 12:10:41 +0800</pubDate><description><![CDATA[我在OpenGL ES四 – 光效 一文中使用了一个普通GLfloat数组。由于它没有使用任何非OpenGL定义的数据结构，所以是最为普通和方便的方式。

 

但在此我使用在第一部分中定义的Vertex3D, Vector3D和 Color3D数据结构重写了 setupView:方法。并不是这种方法“更好”，但是它是一种不同的方式。当我第一次学习OpenGL时，我发现使用顶点，颜色和三角]]></description><category></category></item><item><title><![CDATA[OpenGL ES七 – 变换和矩阵]]></title><link>https://blog.youkuaiyun.com/a15874647/article/details/16821641</link><guid>https://blog.youkuaiyun.com/a15874647/article/details/16821641</guid><author>a15874647</author><pubDate>Tue, 19 Nov 2013 12:09:07 +0800</pubDate><description><![CDATA[今天的主题是我一度谈之色变的。概念上讲，它是3D编程中最为困难的部分。




首先，你应该理解 3D 几何和笛卡尔坐标系他。你还应该理解由顶点构成的三角形组成的OpenGL虚拟世界的物体，各顶点定义了三维空间的特定点，你还应理解怎样使用这些信息在 iPhone上使用OpenGL ES进行绘制。如果你不理解这些概念，我建议你回头再看看我的前六篇文章。




为在交互式程序如游]]></description><category></category></item><item><title><![CDATA[OpenGL ES六 – 纹理及纹理映射]]></title><link>https://blog.youkuaiyun.com/a15874647/article/details/16821629</link><guid>https://blog.youkuaiyun.com/a15874647/article/details/16821629</guid><author>a15874647</author><pubDate>Tue, 19 Nov 2013 12:08:04 +0800</pubDate><description><![CDATA[在OpenGL ES中另一种为多边形定义颜色创建材质的方法是将纹理映射到多边形。这是一种很实用的方法，它可以产生很漂亮的外观并节省大量的处理器时间。比如说，你想在游戏中造一个砖墙。你当然可以创建一个具有几千个顶点的复杂物体来定义每块砖以及砖之间的泥灰。

 

或者你可以创建一个由两个三角形构成的方块（四个顶点），然后将砖的照片映射上去。简单的几何体通过纹理映射的方法比使用材质的复杂几何体]]></description><category></category></item><item><title><![CDATA[OpenGL ES五 – 材质]]></title><link>https://blog.youkuaiyun.com/a15874647/article/details/16821625</link><guid>https://blog.youkuaiyun.com/a15874647/article/details/16821625</guid><author>a15874647</author><pubDate>Tue, 19 Nov 2013 12:06:54 +0800</pubDate><description><![CDATA[在 上一篇文章，我们讨论了光效的设定以及光效的各种属性。我们还讨论了光的三要素：散射光, 环境光 和高光。如果你还不是完全清楚，那么我们来复习一下，在定义材质时大量的用到这些要素。








 

作为本文的起点，我们使用了原文中球体绘制 的项目文件。我们不再使用二十面体而是转向球体是因为球体是展示光和材质不同要素之间相互作用的最佳形状。

 


颜色是什么]]></description><category></category></item><item><title><![CDATA[OpenGL ES四 – 光效]]></title><link>https://blog.youkuaiyun.com/a15874647/article/details/16821621</link><guid>https://blog.youkuaiyun.com/a15874647/article/details/16821621</guid><author>a15874647</author><pubDate>Tue, 19 Nov 2013 12:05:54 +0800</pubDate><description><![CDATA[继续我们的iPhone OpenGL ES之旅，我们将讨论光效。目前，我们没有加入任何光效。幸运的是，OpenGL在没有设置光效的情况下仍然可以看见东西。 它只是提供一种十分单调的整体光让我们看到物体。但是如果不定义光效，物体看上去都很单调，就像你在第二部分程序中看到的那样。





 



 
阴影模型（Shade Model）

 

在深入讨论OpenGL ]]></description><category></category></item></channel></rss>