<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[hx_401的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/hx_401</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; hx_401]]></copyright><item><title><![CDATA[android自定义span]]></title><link>https://blog.youkuaiyun.com/hx_401/article/details/81532506</link><guid>https://blog.youkuaiyun.com/hx_401/article/details/81532506</guid><author>hx_401</author><pubDate>Wed, 13 Mar 2019 18:36:13 +0800</pubDate><description><![CDATA[在这再次说明一下replacementSpan.size(), replacementSpan.draw()方法里面的参数的意义。

public abstract int getSize(@NonNull Paint paint, CharSequence text, @IntRange(from = 0) int start, @IntRange(from = 0) int end, @Nu...]]></description><category></category></item><item><title><![CDATA[源码角度分析Android的事件输入系统（input system）及ANR原理分析]]></title><link>https://blog.youkuaiyun.com/hx_401/article/details/79173520</link><guid>https://blog.youkuaiyun.com/hx_401/article/details/79173520</guid><author>hx_401</author><pubDate>Fri, 26 Jan 2018 16:05:50 +0800</pubDate><description><![CDATA[此篇我们从android5.0（lolipop）源码角度分析Android的事件输入系统（input system）：




先引用一张图来说明下，Android输入系统的整个流程：













1、Linux内核，接受输入设备的中断，并将原始事件的数据写入到设备节点中。

2、设备节点，作为内核与IMS的桥梁，它将原始事件的数据暴露给用户]]></description><category></category></item><item><title><![CDATA[SwipeRefreshLayout与webview冲突解决方案]]></title><link>https://blog.youkuaiyun.com/hx_401/article/details/76229113</link><guid>https://blog.youkuaiyun.com/hx_401/article/details/76229113</guid><author>hx_401</author><pubDate>Fri, 28 Jul 2017 10:13:47 +0800</pubDate><description><![CDATA[当SwipeRefreshLayout包裹了一个自定义控件的时候，下拉会先走刷新，如自定义webview，官方推荐重写SwipeRefreshLayout的canChildScrollUp方法，以下是实例：



swipeRefreshLayout.setmCanChildScrollUpCallback(MyActivity.this);
@Override
public boole]]></description><category></category></item><item><title><![CDATA[android GUI为何不设计成多线程模式]]></title><link>https://blog.youkuaiyun.com/hx_401/article/details/43185425</link><guid>https://blog.youkuaiyun.com/hx_401/article/details/43185425</guid><author>hx_401</author><pubDate>Tue, 27 Jan 2015 02:23:49 +0800</pubDate><description><![CDATA[在我们这批新人转正评审的时候，我师父问了我的小伙伴一个问题：为什么一些更新界面的方法只能在主线程中调用？师父没有问我这个问题，让知其然但不知其所以然的我有种侥幸逃过一难的心情。我想如果回答那是因为Android GUI库是单线程消息机制的，更新界面的操作必须放到主线程中执行，那师父可能继续问为什么Android GUI要设计成单线程的，我就不知道了。
为什么它非得设计为单线程的？多线程不]]></description><category></category></item><item><title><![CDATA[tomcat之URIEncoding配置的作用]]></title><link>https://blog.youkuaiyun.com/hx_401/article/details/37519379</link><guid>https://blog.youkuaiyun.com/hx_401/article/details/37519379</guid><author>hx_401</author><pubDate>Sun, 20 Jul 2014 23:47:35 +0800</pubDate><description><![CDATA[有时候，我们需要在js中通过两次]]></description><category></category></item><item><title><![CDATA[union与union all与order by]]></title><link>https://blog.youkuaiyun.com/hx_401/article/details/24729723</link><guid>https://blog.youkuaiyun.com/hx_401/article/details/24729723</guid><author>hx_401</author><pubDate>Tue, 29 Apr 2014 17:42:01 +0800</pubDate><description><![CDATA[有时候我们会将两部分排序的]]></description><category></category></item><item><title><![CDATA[配置注解驱动的 Spring MVC]]></title><link>https://blog.youkuaiyun.com/hx_401/article/details/17207425</link><guid>https://blog.youkuaiyun.com/hx_401/article/details/17207425</guid><author>hx_401</author><pubDate>Sun, 08 Dec 2013 23:04:59 +0800</pubDate><description><![CDATA[如前所述，DispatcherServlet 需要咨询一个或多个处理器映射来明确地将请求分发给哪个控制器。spring自带了多个处理器映射实现供我们选择:


BeanNameUrlHandlerMappingControllerBeanNameHandlerMapping
ControllerClassNameHandlerMapping
DefaultAnnotationHandle]]></description><category></category></item></channel></rss>