<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[shadowliucs的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/shadowliucs</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; shadowliucs]]></copyright><item><title><![CDATA[面试过蚂蚁金服，我知道的这些套路，JavaP7岗]]></title><link>https://blog.youkuaiyun.com/shadowliucs/article/details/87920319</link><guid>https://blog.youkuaiyun.com/shadowliucs/article/details/87920319</guid><author>shadowliucs</author><pubDate>Mon, 25 Feb 2019 17:05:49 +0800</pubDate><description><![CDATA[蚂蚁花呗一面（一个小时）：

1. Java容器有哪些？哪些是同步容器,哪些是并发容器？

2. ArrayList和LinkedList的插入和访问的时间复杂度？

3. java反射原理， 注解原理？

4. 新生代分为几个区？使用什么算法进行垃圾回收？为什么使用这个算法？

5. HashMap在什么情况下会扩容，或者有哪些操作会导致扩容？

6. HashMap push方法的执行过程？
...]]></description><category></category></item><item><title><![CDATA[【转载】Android中的Gradle]]></title><link>https://blog.youkuaiyun.com/shadowliucs/article/details/80439598</link><guid>https://blog.youkuaiyun.com/shadowliucs/article/details/80439598</guid><author>shadowliucs</author><pubDate>Thu, 24 May 2018 18:13:43 +0800</pubDate><description><![CDATA[文章来自：https://blog.youkuaiyun.com/wqc_优快云/article/details/53572921对于Android开发者来说Gradle是个绕不过去的技术点，只有能理解并熟练的使用Gradle才可以高效有序的开发。Gradle是什么：简单来说Gradle就是一个新兴的项目构建工具，他有着很高的灵活度，可以满足我们很多的项目需求。关于Gradle的介绍可以看这篇博文：Grad...]]></description><category></category></item><item><title><![CDATA[【转载】Android插件化常见冲突解决方案]]></title><link>https://blog.youkuaiyun.com/shadowliucs/article/details/80388615</link><guid>https://blog.youkuaiyun.com/shadowliucs/article/details/80388615</guid><author>shadowliucs</author><pubDate>Mon, 21 May 2018 10:13:50 +0800</pubDate><description><![CDATA[文章转自：https://blog.youkuaiyun.com/xiangzhihong8/article/details/80278068在Android组件化和插件化的过程中，经常会遇到狠多的问题，如常见的包依赖冲突，资源文件依赖冲突等问题，当然，在资源文件上面，一些组件化框架已为我们提供了一些资源文件冲突的解决方案。下面做一个简单的总结，未完待续。1，资源冲突问题在组件化项目中，经常会遇到多个Modu...]]></description><category></category></item><item><title><![CDATA[Android中的小技巧]]></title><link>https://blog.youkuaiyun.com/shadowliucs/article/details/77184980</link><guid>https://blog.youkuaiyun.com/shadowliucs/article/details/77184980</guid><author>shadowliucs</author><pubDate>Tue, 15 Aug 2017 10:50:17 +0800</pubDate><description><![CDATA[1. 如果想添加特殊字符 , 如 @ , 默认报错, 可以在前面加个\  
2 . android:descendantFocusability用法简析 
开发中很常见的一个问题，项目中的listview不仅仅是简单的文字，常常需要自己定义listview，自己的Adapter去继承BaseAdapter，在adapter中按照需求进行编写，问题就出现了，可能会发生点击每一个item的时候没有]]></description><category></category></item><item><title><![CDATA[Android 滚动的公告栏]]></title><link>https://blog.youkuaiyun.com/shadowliucs/article/details/54692327</link><guid>https://blog.youkuaiyun.com/shadowliucs/article/details/54692327</guid><author>shadowliucs</author><pubDate>Mon, 23 Jan 2017 11:16:47 +0800</pubDate><description><![CDATA[实现的效果：

是一个滚动的公告栏，是这样的：







可以看到这个公告栏一方面是滚动，另外一方面是可点击。




实现的思路：

1.textView放在ViewFlipper中实现滑动效果（可设置左右、或者上下滚动），很明显这应该是自定义view；

2.利用textView的点击事件即可实现点击；




OK，先看看自定义view的代]]></description><category></category></item><item><title><![CDATA[8大排序算法动态图文讲解]]></title><link>https://blog.youkuaiyun.com/shadowliucs/article/details/54692214</link><guid>https://blog.youkuaiyun.com/shadowliucs/article/details/54692214</guid><author>shadowliucs</author><pubDate>Mon, 23 Jan 2017 11:07:07 +0800</pubDate><description><![CDATA[Android订阅



地址：http://www.jcodecraeer.com/a/chengxusheji/shejimoshi/2015/0527/2941.html






排序算法（http://lib.youkuaiyun.com/base/datastructure）可以分为内部排序和外部排序，内部排序是数据记录在内存中进行排序，而外部排序是因排序的数据很大，一次不]]></description><category></category></item><item><title><![CDATA[Android中使用到的设计者模式]]></title><link>https://blog.youkuaiyun.com/shadowliucs/article/details/54692169</link><guid>https://blog.youkuaiyun.com/shadowliucs/article/details/54692169</guid><author>shadowliucs</author><pubDate>Mon, 23 Jan 2017 11:05:38 +0800</pubDate><description><![CDATA[单例模式 
概念：确保一个类只有一个实例，并且自行实例化并向整个系统提供整个实例。
public class Singleton {  
    private static volatile Singleton instance = null;  

private Singleton(){  
}  

public static Singleton getInstance() {  
 ]]></description><category></category></item><item><title><![CDATA[2017Android通用流行框架大全]]></title><link>https://blog.youkuaiyun.com/shadowliucs/article/details/54692002</link><guid>https://blog.youkuaiyun.com/shadowliucs/article/details/54692002</guid><author>shadowliucs</author><pubDate>Mon, 23 Jan 2017 10:55:07 +0800</pubDate><description><![CDATA[Android通用流行框架大全






1. 缓存





名称

描述





DiskLruCache

Java实现基于LRU的磁盘缓存




2.图片加载





名称

描述





Android Universal Image Loader

一个强大的加载，缓存，展示图片的库
]]></description><category></category></item><item><title><![CDATA[Android 新安全机制之动态权限申请]]></title><link>https://blog.youkuaiyun.com/shadowliucs/article/details/54409857</link><guid>https://blog.youkuaiyun.com/shadowliucs/article/details/54409857</guid><author>shadowliucs</author><pubDate>Fri, 13 Jan 2017 16:28:37 +0800</pubDate><description><![CDATA[文章来源：http://blog.youkuaiyun.com/zhuwentao2150/article/details/53449711

Android6.0的SDK，对权限的申请机制发生了一些变化。 
在Android6.0之前，用户安装APP时就要为其授予对应的权限，不然程序就无法安装，而6.0之后，我们可以直接安装，并可对应用的权限进行管理，这样极大的保护了用户的隐私，但也给我们开发人员造成]]></description><category></category></item><item><title><![CDATA[微信小程序的编程模式]]></title><link>https://blog.youkuaiyun.com/shadowliucs/article/details/54376434</link><guid>https://blog.youkuaiyun.com/shadowliucs/article/details/54376434</guid><author>shadowliucs</author><pubDate>Thu, 12 Jan 2017 11:30:59 +0800</pubDate><description><![CDATA[作者简介： 范怀宇，轻芒联合创始人，毕业于清华大学，前豌豆荚技术负责人，专注于移动开发十余年，曾出版《Android 开发精要》。爱研习好代码和设计，相信好的产品能改变生活，好阅读乐分享。 
责编：唐小引，技术之路，共同进步。欢迎技术投稿、给文章纠错，请发送邮件至tangxy@youkuaiyun.com。 
声明： 本文为《程序员》2017年1月期原创文章，未经允许请勿转载，更多精彩文章请订阅 2017]]></description><category></category></item><item><title><![CDATA[理解MVC，MVP和MVVM设计模式]]></title><link>https://blog.youkuaiyun.com/shadowliucs/article/details/53582942</link><guid>https://blog.youkuaiyun.com/shadowliucs/article/details/53582942</guid><author>shadowliucs</author><pubDate>Mon, 12 Dec 2016 15:06:28 +0800</pubDate><description><![CDATA[原文链接：http://www.dotnet-tricks.com/Tutorial/designpatterns/2FMM060314-Understanding-MVC,-MVP-and-MVVM-Design-Patterns.html

转载：http://blog.youkuaiyun.com/pkxiuluo01/article/details/49383783




有3个非常受]]></description><category></category></item><item><title><![CDATA[Android适配难题全面总结]]></title><link>https://blog.youkuaiyun.com/shadowliucs/article/details/53467283</link><guid>https://blog.youkuaiyun.com/shadowliucs/article/details/53467283</guid><author>shadowliucs</author><pubDate>Mon, 05 Dec 2016 17:18:29 +0800</pubDate><description><![CDATA[支持多种屏幕

Android 可在各种具有不同屏幕尺寸和密度的设备上运行。对于 应用，Android 系统在不同设备中提供一致的开发环境， 可以处理大多数工作，将每个应用的用户界面调整为适应其显示的 屏幕。同时，系统提供 API，可用于控制 应用适用于特定屏幕尺寸和密度的 UI，以针对 不同屏幕配置优化 UI 设计。例如，您可能想要不同于手机 UI 的 平板电脑 UI。

虽然系统为使您]]></description><category></category></item><item><title><![CDATA[Android手势密码实现方案]]></title><link>https://blog.youkuaiyun.com/shadowliucs/article/details/53442683</link><guid>https://blog.youkuaiyun.com/shadowliucs/article/details/53442683</guid><author>shadowliucs</author><pubDate>Sat, 03 Dec 2016 10:02:28 +0800</pubDate><description><![CDATA[文章来源：http://www.codeceo.com/article/android-gesture.html

这篇来分享一下绘制手势密码的实现（主要是设置手势密码、校验手势密码）：

一、大致界面介绍：



图1



图2



图3



图4

图1：手势密码绘制界面 【主要是绘制上方的9个提示图标和9个宫格密码图标】

图2：设置手势]]></description><category></category></item><item><title><![CDATA[Android下拉图片变大的ScrollView]]></title><link>https://blog.youkuaiyun.com/shadowliucs/article/details/53410407</link><guid>https://blog.youkuaiyun.com/shadowliucs/article/details/53410407</guid><author>shadowliucs</author><pubDate>Wed, 30 Nov 2016 17:00:01 +0800</pubDate><description><![CDATA[1、效果图


2、实现简介
1、布局结构

(1)、项目结构： 
 
(2)、代码结构 
gitosc代码结构链接 
一个主Activity,一个PullToZoomScrollView(即自定义的ScrollView)，还有一个工具类（可以忽略） 
(3)、布局结构 
gitosc布局结构链接 
主布局：分为两块，一个为TopBar，即标题栏（这个不用说了），另外一个]]></description><category></category></item><item><title><![CDATA[十大技巧优化Android App性能]]></title><link>https://blog.youkuaiyun.com/shadowliucs/article/details/53405249</link><guid>https://blog.youkuaiyun.com/shadowliucs/article/details/53405249</guid><author>shadowliucs</author><pubDate>Wed, 30 Nov 2016 10:41:57 +0800</pubDate><description><![CDATA[无论锤子还是茄子手机的不断冒出，Android系统的手机市场占有率目前来说还是最大的，因此基于Android开发的App数量也是很庞大的。那么，如何能开发出更高性能的Android App？相信是软件开发公司以及广大程序员们头疼的一大难题。今天，就给大家提供几个提高Android
 App性能的技巧。



高效地利用线程

1.在后台取消一些线程中的动作

我们知道App运行过]]></description><category></category></item><item><title><![CDATA[手把手教你AndroidStudio多渠道打包]]></title><link>https://blog.youkuaiyun.com/shadowliucs/article/details/53332481</link><guid>https://blog.youkuaiyun.com/shadowliucs/article/details/53332481</guid><author>shadowliucs</author><pubDate>Fri, 25 Nov 2016 11:19:36 +0800</pubDate><description><![CDATA[最近不断有朋友向我咨询AndroidStudio多渠道的打包方法，今天整理一下之前积累的打包套路，写一篇文章，手把手的教给大家。
       说到多渠道，这里不得不提一下友盟统计，友盟统计是大家日常开发中常用的渠道统计工具，而我们的打包方法就是基于友盟统计实施的。按照友盟官方文档说明，渠道信息通常需要在AndroidManifest.xml中配置如下值：
"Channel ID" andro]]></description><category></category></item><item><title><![CDATA[Android酷炫实用的开源框架（UI框架）]]></title><link>https://blog.youkuaiyun.com/shadowliucs/article/details/53318630</link><guid>https://blog.youkuaiyun.com/shadowliucs/article/details/53318630</guid><author>shadowliucs</author><pubDate>Thu, 24 Nov 2016 11:34:50 +0800</pubDate><description><![CDATA[Android酷炫实用的开源框架（UI框架）

前言

忙碌的工作终于可以停息一段时间了，最近突然有一个想法，就是自己写一个app，所以找了一些合适开源控件，这样更加省时，再此分享给大家，希望能对大家有帮助，此博文介绍的都是UI上面的框架，接下来会有其他的开源框架（如：HTTP框架、DB框架）。

1.Side-Menu.Android
分类侧滑菜单，Yalantis 出品。
项目]]></description><category></category></item><item><title><![CDATA[Android动态加载入坑指南]]></title><link>https://blog.youkuaiyun.com/shadowliucs/article/details/53161193</link><guid>https://blog.youkuaiyun.com/shadowliucs/article/details/53161193</guid><author>shadowliucs</author><pubDate>Mon, 14 Nov 2016 17:17:30 +0800</pubDate><description><![CDATA[文章来自：http://blog.youkuaiyun.com/xiangzhihong8/article/details/53147571




曾几何时，国内各大公司掀起了一股研究Android动态加载的技术，两年多过去了，动态加载技术俨然成了Android开发中必须掌握的技术。那么动态加载技术是什么呢，这里谈谈我的个人看法，如有雷同，纯属偶然。

什么是动态加载技术

对于动态加载的]]></description><category></category></item><item><title><![CDATA[java代码优化总结]]></title><link>https://blog.youkuaiyun.com/shadowliucs/article/details/52401035</link><guid>https://blog.youkuaiyun.com/shadowliucs/article/details/52401035</guid><author>shadowliucs</author><pubDate>Thu, 01 Sep 2016 16:35:42 +0800</pubDate><description><![CDATA[下面是参考网络资源总结的一些在Java编程中尽可能要做到的一些地方。

　　1. 尽量在合适的场合使用单例

　　使用单例可以减轻加载的负担，缩短加载的时间，提高加载的效率，但并不是所有地方都适用于单例，简单来说，单例主要适用于以下三个方面：

　　第一，控制资源的使用，通过线程同步来控制资源的并发访问;

　　第二，控制实例的产生，以达到节约资源的目的;

　　第三，控制数据]]></description><category></category></item><item><title><![CDATA[Android Volley完全解析之代码完成]]></title><link>https://blog.youkuaiyun.com/shadowliucs/article/details/52174976</link><guid>https://blog.youkuaiyun.com/shadowliucs/article/details/52174976</guid><author>shadowliucs</author><pubDate>Wed, 10 Aug 2016 18:15:19 +0800</pubDate><description><![CDATA[引用：http://blog.youkuaiyun.com/ysh06201418/article/details/46443235
            http://blog.youkuaiyun.com/guolin_blog/article/details/17482095


代码部分：


package com.example.androidtestone;


import java]]></description><category></category></item></channel></rss>