<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[qqiabc521的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/qqiabc521</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; qqiabc521]]></copyright><item><title><![CDATA[Android layer type与WebView白屏以及WebView不随动画而动的问题]]></title><link>https://blog.youkuaiyun.com/qqiabc521/article/details/46929631</link><guid>https://blog.youkuaiyun.com/qqiabc521/article/details/46929631</guid><author>qqiabc521</author><pubDate>Fri, 17 Jul 2015 16:49:09 +0800</pubDate><description><![CDATA[先说说这三个layer。


LAYER_TYPE_SOFTWARE
无论硬件加速是否打开，都会有一张Bitmap（software layer），并在上面对WebView进行软渲染。
好处：
在进行动画，使用software可以只画一次View树，很省。
什么时候不要用：
View树经常更新时不要用。尤其是在硬件加速打开时，每次更新消耗的时间更多。因为渲染完这张Bitmap后还需]]></description><category></category></item><item><title><![CDATA[Android中资源管理机制详细分析]]></title><link>https://blog.youkuaiyun.com/qqiabc521/article/details/44041421</link><guid>https://blog.youkuaiyun.com/qqiabc521/article/details/44041421</guid><author>qqiabc521</author><pubDate>Tue, 03 Mar 2015 18:23:48 +0800</pubDate><description><![CDATA[在Android中，所有的资源都在res目录下存放，包括drawable，layout，strings,anim等等，当我们向工程中加入任何一个资源时，会在R类中相应会为该 资源分配一个id，我们在应用中就是通过这个id来访问资源的，相信做过Andorid开发的朋友对于这些肯定不会陌生，所以这个也不是我今天想要说的，我今天想和大家一起学习的是Android是如何管理资源的，在Android系统中，]]></description><category></category></item><item><title><![CDATA[轻松实现Android 更换皮肤(主题)]]></title><link>https://blog.youkuaiyun.com/qqiabc521/article/details/44041411</link><guid>https://blog.youkuaiyun.com/qqiabc521/article/details/44041411</guid><author>qqiabc521</author><pubDate>Tue, 03 Mar 2015 18:22:34 +0800</pubDate><description><![CDATA[目前很多app都具有换肤功能，可以根据用户自己的喜好定制自己的界面，比如新浪微博，网易新闻等等。今天这里我就是要介绍一种机制实现app换肤。

我找了几款app换肤的应用，换肤基本都是更换了界面的Icon，背景图片，背景色等等，基本没有遇到更换布局的，其实布局也是可以更换的，但是觉得没有必要。所以这篇文章讲解的换肤也是指换icon,背景图片等资源。

通过网络搜索我发现网上上提供了大概这么]]></description><category></category></item><item><title><![CDATA[修正Android摄像头API]]></title><link>https://blog.youkuaiyun.com/qqiabc521/article/details/38898533</link><guid>https://blog.youkuaiyun.com/qqiabc521/article/details/38898533</guid><author>qqiabc521</author><pubDate>Thu, 28 Aug 2014 15:14:48 +0800</pubDate><description><![CDATA[这几天本人参加了一个公司举办的编程马拉松，我打算使用Android摄像头来做。我一直都认为Android的API很糟糕，但是没有详细说出哪些地方糟糕，也没有说怎么改进会更好。趁这个机会，现在我就来解释解释。

我认为，Android关于摄像头的API非常糟糕，如果你没有用过，那么自己花点时间看看去吧。使用这个Camera API的时候，经常会使开发者使用错误，会导致开发者忽略很多重要的东西，然]]></description><category></category></item><item><title><![CDATA[Android: NDK编程入门笔记]]></title><link>https://blog.youkuaiyun.com/qqiabc521/article/details/30496925</link><guid>https://blog.youkuaiyun.com/qqiabc521/article/details/30496925</guid><author>qqiabc521</author><pubDate>Fri, 13 Jun 2014 16:12:31 +0800</pubDate><description><![CDATA[为何要用到NDK?

概括来说主要分为以下几种情况：

1. 代码的保护，由于apk的java层代码很容易被反编译，而C/C++库反汇难度较大。
2. 在NDK中调用第三方C/C++库，因为大部分的开源库都是用C/C++代码编写的。
3. 便于移植，用C/C++写得库可以方便在其他的嵌入式平台上再次使用。



下面就介绍下Android NDK的入门学习过程：

入门的最]]></description><category></category></item><item><title><![CDATA[android animation中的参数interpolator详解]]></title><link>https://blog.youkuaiyun.com/qqiabc521/article/details/21089089</link><guid>https://blog.youkuaiyun.com/qqiabc521/article/details/21089089</guid><author>qqiabc521</author><pubDate>Wed, 12 Mar 2014 14:24:10 +0800</pubDate><description><![CDATA[android:interpolator

    interpolator 被用来修饰动画效果，定义动画的变化率，可以使存在的动画效果可以 accelerated(加速)，decelerated(减速),repeated(重复),bounced(弹跳)等。

  android 自带的interpolator

  

   AccelerateDecelerateInterpo]]></description><category></category></item><item><title><![CDATA[Android有效解决加载大图片时内存溢出的问题]]></title><link>https://blog.youkuaiyun.com/qqiabc521/article/details/20941273</link><guid>https://blog.youkuaiyun.com/qqiabc521/article/details/20941273</guid><author>qqiabc521</author><pubDate>Mon, 10 Mar 2014 18:24:44 +0800</pubDate><description><![CDATA[尽量不要使用setImageBitmap或setImageResource或BitmapFactory.decodeResource来设置一张大图，
因为这些函数在完成decode后，最终都是通过java层的createBitmap来完成的，需要消耗更多内存。

因此，改用先通过BitmapFactory.decodeStream方法，创建出一个bitmap，再将其设为ImageView的 ]]></description><category></category></item><item><title><![CDATA[android handler 机制]]></title><link>https://blog.youkuaiyun.com/qqiabc521/article/details/18193757</link><guid>https://blog.youkuaiyun.com/qqiabc521/article/details/18193757</guid><author>qqiabc521</author><pubDate>Sun, 12 Jan 2014 22:22:07 +0800</pubDate><description><![CDATA[在android中提供了一种异步回调机制Handler,使用它，我们可以在完成一个很长时间的任务后做出相应的通知

    handler基本使用：

        在主线程中，使用handler很简单，new一个Handler对象实现其handleMessage方法，在handleMessage中
提供收到消息后相应的处理方法即可，这里不对handler使用进行详细说明，在看本博文前]]></description><category></category></item><item><title><![CDATA[从源码的角度解析View的事件分发]]></title><link>https://blog.youkuaiyun.com/qqiabc521/article/details/17069607</link><guid>https://blog.youkuaiyun.com/qqiabc521/article/details/17069607</guid><author>qqiabc521</author><pubDate>Mon, 02 Dec 2013 11:48:11 +0800</pubDate><description><![CDATA[有好多朋友问过我各种问题，比如：onTouch和onTouchEvent有什么区别，又该如何使用？为什么给ListView引入了一个滑动菜单的功能，ListView就不能滚动了？为什么图片轮播器里的图片使用Button而不用ImageView？等等……对于这些问题，我并没有给出非常详细的回答，因为我知道如果想要彻底搞明白这些问题，掌握Android事件分发机制是必不可少的，而Android事件分发]]></description><category></category></item><item><title><![CDATA[从源码的角度分析ViewGruop的事件分发]]></title><link>https://blog.youkuaiyun.com/qqiabc521/article/details/17069579</link><guid>https://blog.youkuaiyun.com/qqiabc521/article/details/17069579</guid><author>qqiabc521</author><pubDate>Mon, 02 Dec 2013 11:46:40 +0800</pubDate><description><![CDATA[从源码的角度分析ViewGruop的事件分发。


首先我们来探讨一下，什么是ViewGroup？它和普通的View有什么区别？

顾名思义，ViewGroup就是一组View的集合，它包含很多的子View和子VewGroup，是Android中所有布局的父类或间接父类，像LinearLayout、RelativeLayout等都是继承自ViewGroup的。但ViewGroup实际上也]]></description><category></category></item><item><title><![CDATA[Android Fragment应用实战，使用碎片向ActivityGroup说再见]]></title><link>https://blog.youkuaiyun.com/qqiabc521/article/details/17068089</link><guid>https://blog.youkuaiyun.com/qqiabc521/article/details/17068089</guid><author>qqiabc521</author><pubDate>Mon, 02 Dec 2013 10:21:19 +0800</pubDate><description><![CDATA[现在Fragment的应用真的是越来越广泛了，之前Android在3.0版本加入Fragment的时候，主要是为了解决Android Pad屏幕比较大，空间不能充分利用的问题，但现在即使只是在手机上，也有很多的场景可以运用到Fragment了，今天我们就来学习其中一个特别棒的应用技巧。

很多手机应用都会有一个非常类似的功能，即屏幕的下方显示一行Tab标签选项，点击不同的标签就可以切换到不同的]]></description><category></category></item><item><title><![CDATA[利用HTML5开发Android]]></title><link>https://blog.youkuaiyun.com/qqiabc521/article/details/12092731</link><guid>https://blog.youkuaiyun.com/qqiabc521/article/details/12092731</guid><author>qqiabc521</author><pubDate>Fri, 27 Sep 2013 14:24:33 +0800</pubDate><description><![CDATA[●Android设备多分辨率的问题

Android浏览器默认预览模式浏览 会缩小页面 WebView中则会以原始大小显示

Android浏览器和WebView默认为mdpi。hdpi相当于mdpi的1.5倍 ldpi相当于0.75倍

三种解决方式：1
 viewport属性 2 CSS控制 3 JS控制

1 viewport属性放在HTML的中

 

Html代]]></description><category></category></item><item><title><![CDATA[通过SlidingMenu Fragment实现当前最流行的侧滑]]></title><link>https://blog.youkuaiyun.com/qqiabc521/article/details/9289435</link><guid>https://blog.youkuaiyun.com/qqiabc521/article/details/9289435</guid><author>qqiabc521</author><pubDate>Wed, 10 Jul 2013 11:52:06 +0800</pubDate><description><![CDATA[内容简介：
通过SlidingMenu库与Fragment来实现当前最为流行的侧滑模式。其实涉及到的知识点有：
1.SlidingMenu
2.Fragment
通过layout构建一个Fragment
通过preference 来构建Fragment

准备工作：
1. SlidingMenu 下载地址： https://github.com/jfeinstein10/Slidi]]></description><category></category></item><item><title><![CDATA[使用 Simple 简化 XML 序列化]]></title><link>https://blog.youkuaiyun.com/qqiabc521/article/details/8789272</link><guid>https://blog.youkuaiyun.com/qqiabc521/article/details/8789272</guid><author>qqiabc521</author><pubDate>Thu, 11 Apr 2013 17:07:14 +0800</pubDate><description><![CDATA[Simple 是什么？
Simple 是一个 Java 框架，用于简化序列化和反序列化 XML 的过程。使用 Simple，开发人员可以简化（名字由此而来）将简单老 Java 对象（POJO）转换成 XML 文档的过程 — 即所谓的序列化（serialization）过程。Simple 也可促进相反的过程：开发人员可以将 XML 文档转换成 POJO — 即所谓的反序列化（deserializa]]></description><category></category></item><item><title><![CDATA[android消息推送]]></title><link>https://blog.youkuaiyun.com/qqiabc521/article/details/8778410</link><guid>https://blog.youkuaiyun.com/qqiabc521/article/details/8778410</guid><author>qqiabc521</author><pubDate>Tue, 09 Apr 2013 16:28:29 +0800</pubDate><description><![CDATA[1.引言
　　所谓的消息推送就是从服务器端向移动终端发送连接，传输一定的信息。比如一些新闻客户端，每隔一段时间收到一条或者多条通知，这就是从服务器端传来的推送消息；还比如常用的一些IM软件如微信、GTalk等，都具有服务器推送功能。
　　推送方法如下：
　　1)通过SMS进行服务器端和客户端的交流通信。
　　在Android平台上，你可以通过拦截SMS消息并且解析消息内容来了解服务器的意图]]></description><category></category></item><item><title><![CDATA[Android屏幕密度（Density）和分辨率的解释]]></title><link>https://blog.youkuaiyun.com/qqiabc521/article/details/8714377</link><guid>https://blog.youkuaiyun.com/qqiabc521/article/details/8714377</guid><author>qqiabc521</author><pubDate>Sun, 24 Mar 2013 20:51:07 +0800</pubDate><description><![CDATA[HVGA屏density=160；QVGA屏density=120；WVGA屏density=240；WQVGA屏density=120
density值表示每英寸有多少个显示点，与分辨率是两个概念。

不同density下屏幕 分辨率信息，以480dip*800dip的WVGA(density=240)为例

density=120时 屏幕实际分辨率为240px*400px （两个点对]]></description><category></category></item><item><title><![CDATA[Android开发优化之——使用软引用和弱引用]]></title><link>https://blog.youkuaiyun.com/qqiabc521/article/details/8687616</link><guid>https://blog.youkuaiyun.com/qqiabc521/article/details/8687616</guid><author>qqiabc521</author><pubDate>Mon, 18 Mar 2013 16:03:14 +0800</pubDate><description><![CDATA[Java从JDK1.2版本开始，就把对象的引用分为四种级别，从而使程序能更加灵活的控制对象的生命周期。这四种级别由高到低依次为：强引用、软引用、弱引用和虚引用。
这里重点介绍一下软引用和弱引用。
如果一个对象只具有软引用，那么如果内存空间足够，垃圾回收器就不会回收它；如果内存空间不足了，就会回收这些对象的内存。只要垃圾回收器没有回收它，该对象就可以被程序使用。软引用可用来实现内存敏感的高速缓存]]></description><category></category></item><item><title><![CDATA[Android开发优化之——从代码角度进行优化]]></title><link>https://blog.youkuaiyun.com/qqiabc521/article/details/8687214</link><guid>https://blog.youkuaiyun.com/qqiabc521/article/details/8687214</guid><author>qqiabc521</author><pubDate>Mon, 18 Mar 2013 14:59:49 +0800</pubDate><description><![CDATA[通常我们写程序，都是在项目计划的压力下完成的，此时完成的代码可以完成具体业务逻辑，但是性能不一定是最优化的。一般来说，优秀的程序员在写完代码之后都会不断的对代码进行重构。重构的好处有很多，其中一点，就是对代码进行优化，提高软件的性能。下面我们就从几个方面来了解Android开发过程中的代码优化。

1）静态变量引起内存泄露
在代码优化的过程中，我们需要对代码中的静态变量特别留意。静态变量是类]]></description><category></category></item><item><title><![CDATA[Android之MVC模式]]></title><link>https://blog.youkuaiyun.com/qqiabc521/article/details/8674283</link><guid>https://blog.youkuaiyun.com/qqiabc521/article/details/8674283</guid><author>qqiabc521</author><pubDate>Thu, 14 Mar 2013 17:38:09 +0800</pubDate><description><![CDATA[MVC (Model-View-Controller)：M是指逻辑模型，V是指视图模型，C则是控制器。一个逻辑模型可以对于多种视图模型，比如一批统计数据你可以分别用柱状图、饼图来表示。一种视图模型也可以对于多种逻辑模型。使用MVC的目的是将M和V的实现代码分离，从而使同一个程序可以使用不同的表现形式，而C存在的目的则是确保M和V的同步，一旦M改变，V应该同步更新，这与《设计模式》中的观察者模式是完]]></description><category></category></item><item><title><![CDATA[android  代码混淆 例子]]></title><link>https://blog.youkuaiyun.com/qqiabc521/article/details/8636543</link><guid>https://blog.youkuaiyun.com/qqiabc521/article/details/8636543</guid><author>qqiabc521</author><pubDate>Tue, 05 Mar 2013 09:46:20 +0800</pubDate><description><![CDATA[-optimizationpasses 5
#混淆时不会产生形形色色的类名 
-dontusemixedcaseclassnames
#指定不去忽略非公共的库类
-dontskipnonpubliclibraryclasses
#不预校验
-dontpreverify
-dontshrink
#忽略警告
-ignorewarnings
#优化
-optimizations !]]></description><category></category></item></channel></rss>