<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[tli600605的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/tli600605</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; tli600605]]></copyright><item><title><![CDATA[Android View系统那些事]]></title><link>https://blog.youkuaiyun.com/tli600605/article/details/102694443</link><guid>https://blog.youkuaiyun.com/tli600605/article/details/102694443</guid><author>tli600605</author><pubDate>Wed, 23 Oct 2019 08:20:25 +0800</pubDate><description><![CDATA[本篇文章打算介绍下View的坐标、自定义View的手势检测以及实现View内容滚动的几种方式，希望对有需要的同学有所帮助。
View的坐标
在自定义View中，经常需要处理各种坐标之间的转换，下图展示了View中的各种坐标：简单解释下上图的含义：
针对一个普通View：

getTop方法表示view自身的顶边到其父布局顶边的距离
getLeft方法表示view自身的左边到其父布局左边的距离
ge...]]></description><category></category></item><item><title><![CDATA[Activity启动模式一]]></title><link>https://blog.youkuaiyun.com/tli600605/article/details/102694346</link><guid>https://blog.youkuaiyun.com/tli600605/article/details/102694346</guid><author>tli600605</author><pubDate>Wed, 23 Oct 2019 07:51:36 +0800</pubDate><description><![CDATA[众所周知，Activity有4种启动模式，分别是：Standard、SingleTop、SingleTask和SingleInstance，它们控制了被启动Activity的启动行为。本文将通过具体案例，详细分析这几种模式的差异和使用场景，方便日后查阅。
在展开具体分析之前，我们首先要了解下两个基础知识：Activity任务栈和android:taskAffinity属性。
基础知识
Activi...]]></description><category></category></item><item><title><![CDATA[Activity启动模式二]]></title><link>https://blog.youkuaiyun.com/tli600605/article/details/102694348</link><guid>https://blog.youkuaiyun.com/tli600605/article/details/102694348</guid><author>tli600605</author><pubDate>Wed, 23 Oct 2019 07:48:55 +0800</pubDate><description><![CDATA[上篇文章Activity启动模式一主要介绍了Activity的四种启动模式，这些启动模式都是在AndroidManifest中进行配置的。除此之外，Android系统还通过Intent类提供了一些标志位，同样可以指定Activity的启动模式。本文将介绍下这些和Activity启动相关的标志位。
一般情况下，我们在启动目标Activity的Intent中指定这些标志位，如下所示：
Intent i...]]></description><category></category></item><item><title><![CDATA[C  之类继承与派生]]></title><link>https://blog.youkuaiyun.com/tli600605/article/details/102653948</link><guid>https://blog.youkuaiyun.com/tli600605/article/details/102653948</guid><author>tli600605</author><pubDate>Sun, 20 Oct 2019 21:21:34 +0800</pubDate><description><![CDATA[派生类的声明：
class 派生类名：继承方式 基类名1， 继承方式 基类名2，...，继承方式 基类名n
{
    派生类成员声明；
};



一个派生类可以同时有多个基类，这种情况称为多重继承。派生类只有一个基类，称为单继承。慎用多继承！
继承方式规定了如何访问基类继承的成员。继承方式有public, private, protected。如果不显示给出继承方式，默认为private继承。...]]></description><category></category></item><item><title><![CDATA[Android图形系统系统篇之HWC]]></title><link>https://blog.youkuaiyun.com/tli600605/article/details/101710446</link><guid>https://blog.youkuaiyun.com/tli600605/article/details/101710446</guid><author>tli600605</author><pubDate>Sun, 29 Sep 2019 19:15:22 +0800</pubDate><description><![CDATA[HWC概述
HWC（hwcomposer）是Android中进行窗口（Layer）合成和显示的HAL层模块，其实现是特定于设备的，而且通常由显示设备制造商 (OEM)完成，为SurfaceFlinger服务提供硬件支持。
SurfaceFlinger可以使用OpenGL ES合成Layer，这需要占用并消耗GPU资源。大多数GPU都没有针对图层合成进行优化，当SurfaceFlinger通过GPU...]]></description><category></category></item><item><title><![CDATA[Android图形系统概述]]></title><link>https://blog.youkuaiyun.com/tli600605/article/details/101710295</link><guid>https://blog.youkuaiyun.com/tli600605/article/details/101710295</guid><author>tli600605</author><pubDate>Sun, 29 Sep 2019 19:12:26 +0800</pubDate><description><![CDATA[图形系统是Android中非常重要的子系统，与其他子系统相互协作，完成图形界面的渲染和显示。
概述
官方提供了一个图形系统的关键组件协作图，如下所示：这幅图大致描述了图形数据的流转：OpenGL ES、MediaPlayer等生产者生产图形数据到Surface，Surface通过IGraphicBufferProducer把GraphicBuffer跨进程传输给消费者SurfaceFlinger，...]]></description><category></category></item><item><title><![CDATA[NDK Cmake]]></title><link>https://blog.youkuaiyun.com/tli600605/article/details/100085211</link><guid>https://blog.youkuaiyun.com/tli600605/article/details/100085211</guid><author>tli600605</author><pubDate>Mon, 26 Aug 2019 20:26:44 +0800</pubDate><description><![CDATA[CMake与NDK搭配使用时，可以配置的部分变量： 
 ANDROID_PLATFORM：指定Android的目标版本，对应$NDK/platforms/目录下的版本。通常情况下是defaultConfig中的minSdkVersion，这样就能确保所有大于等于minSdkVersion的设备都可以使用编译生成的库。 但是也有例外，比如：当ANDROID_ABI=arm64-v8a时，即使min...]]></description><category></category></item><item><title><![CDATA[Android Menu]]></title><link>https://blog.youkuaiyun.com/tli600605/article/details/48954463</link><guid>https://blog.youkuaiyun.com/tli600605/article/details/48954463</guid><author>tli600605</author><pubDate>Wed, 07 Oct 2015 21:40:40 +0800</pubDate><description><![CDATA[Android Menu@(Android-菜单)基础知识篇Android系统里面有3种类型的菜单：选项菜单（OptionsMenu）、上下文菜单（ContextMenu）和子菜单（SubMenu）。还有一个菜单项MenuItem.关于Menu相关的XML标签，可以参见官网解释Menu Resource，很详细。OptionsMenu默认样式是在屏幕底部弹出一个菜单，这个菜单我们就称为选项菜单。]]></description><category></category></item><item><title><![CDATA[Android系统栏相关(SystemBar)]]></title><link>https://blog.youkuaiyun.com/tli600605/article/details/48809545</link><guid>https://blog.youkuaiyun.com/tli600605/article/details/48809545</guid><author>tli600605</author><pubDate>Tue, 29 Sep 2015 18:04:28 +0800</pubDate><description><![CDATA[Android系统栏相关(SystemBar)@(Android-UI界面)[SystemBar]SystemBar是用来展示通知、表现设备状态和完成设备导航的屏幕区域。主要包括状态栏（1：status bar）和导航栏（2：navigation bar）。借用官方的图，如下所示，我们可以根据需要对SystemBar进行一些操作，满足自己的需求。 
淡化SystemBar (View.SYSTEM_]]></description><category></category></item><item><title><![CDATA[一些好的Android开源项目]]></title><link>https://blog.youkuaiyun.com/tli600605/article/details/38492535</link><guid>https://blog.youkuaiyun.com/tli600605/article/details/38492535</guid><author>tli600605</author><pubDate>Mon, 11 Aug 2014 14:47:43 +0800</pubDate><description><![CDATA[Android开源项目系列汇总已完成，包括：

Android开源项目第一篇——个性化控件(View)篇

Android开源项目第二篇——工具库篇

Android开源项目第三篇——优秀项目篇

Android开源项目第四篇——开发及测试工具篇

Android开源项目第五篇——优秀个人和团体篇





Android开源项目第一篇——个性化控件(View)篇]]></description><category></category></item><item><title><![CDATA[给一个很长的字符串str 还有一个字符集比如"abc" 找出str 里包含"abc"的最短子串。要求O(n)]]></title><link>https://blog.youkuaiyun.com/tli600605/article/details/10446765</link><guid>https://blog.youkuaiyun.com/tli600605/article/details/10446765</guid><author>tli600605</author><pubDate>Wed, 28 Aug 2013 14:58:36 +0800</pubDate><description><![CDATA[在面试100题中看到了这个题，实现下：


题目：给一个很长的字符串str ，还有一个字符集比如"abc" ，找出str 里包含"abc"的最短子串。要求O(n)。
例如：字符串str：abdcaabcx，字符集dest：abc，那么最短子串就是abc。
实现思路是在july大神的博客上看到的http://blog.youkuaiyun.com/v_july_v/article/details/61]]></description><category></category></item><item><title><![CDATA[Java中的Date和Calendar类]]></title><link>https://blog.youkuaiyun.com/tli600605/article/details/7394199</link><guid>https://blog.youkuaiyun.com/tli600605/article/details/7394199</guid><author>tli600605</author><pubDate>Mon, 26 Mar 2012 11:20:05 +0800</pubDate><description><![CDATA[Java 语言的Calendar(日历),Date(日期), 和DateFormat(日期格式)组成了Java标准的一个基本但是非常重要的部分. 日期是商业逻辑计算一个关键的部分. 所有的开发者都应该能够计算未来的日期, 定制日期的显示格式, 并将文本数据解析成日期对象.
我们将讨论下面的类:

1、具体类(和抽象类相对)java.util.Date 
2、抽象类java.text.Dat]]></description><category></category></item><item><title><![CDATA[GMT与UTC]]></title><link>https://blog.youkuaiyun.com/tli600605/article/details/7392822</link><guid>https://blog.youkuaiyun.com/tli600605/article/details/7392822</guid><author>tli600605</author><pubDate>Sun, 25 Mar 2012 20:41:54 +0800</pubDate><description><![CDATA[1.UTC（universal timecoordinated）称为协调时间时，是国际无线电咨询委员会制定和推荐的，以子午初线(经度0度)上的平均太阳时为依据，也就是英国伦暾的平均太阳时。
    2.GMT(greenwitch meantime)格林威治平均时间，由于地球绕太阳的轨道不是圆形的，而且自转轴相对轨道面是倾斜的，导致UTC的表示不是很精确，为此提出了ＧＭＴ时间，通过每一年或两年对]]></description><category></category></item></channel></rss>