<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[zh1豪的博客]]></title><description><![CDATA[成长程序员的森林]]></description><link>https://blog.youkuaiyun.com/wzhworld</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; wzhworld]]></copyright><item><title><![CDATA[Android文件目录、存储概念（/storage/sdcard0， /sdcard， /mnt/sdcard ，/data/data，/data/user/0）]]></title><link>https://blog.youkuaiyun.com/wzhworld/article/details/83718336</link><guid>https://blog.youkuaiyun.com/wzhworld/article/details/83718336</guid><author>wzhworld</author><pubDate>Sun, 04 Nov 2018 19:07:01 +0800</pubDate><description><![CDATA[目录

一、基本方法

二、内外部存储概念

1、内部存储

2、外部存储

3、sdcard

三、差异

1、/storage/sdcard0， /sdcard， /mnt/sdcard ，/storage/emulated/legacy

2、/data/data，/data/user/0

一、基本方法

今天刚好想弄清楚Android的文件路径问题，就写了一些的方法试试路径，得出结果如下...]]></description><category></category></item><item><title><![CDATA[Android四大组件-BroadcastReceiver、ContentProvider、Service]]></title><link>https://blog.youkuaiyun.com/wzhworld/article/details/83472795</link><guid>https://blog.youkuaiyun.com/wzhworld/article/details/83472795</guid><author>wzhworld</author><pubDate>Sun, 28 Oct 2018 23:23:22 +0800</pubDate><description><![CDATA[目录

一、BroadcastReceiver

1、定义

2、作用

3、生命周期

4、广播注册方式

动态注册

静态注册

5、广播类型

普通广播：即发出广播后所有接收者都能收

有序广播：按照广播的优先级接受,broadcastReceiver可以在onReceive中使用abortBroastcast()终止广播下传

系统广播：系统的广播，如电量、锁屏等

本地广播：只在本应用内...]]></description><category></category></item><item><title><![CDATA[Android四大组件-Activity]]></title><link>https://blog.youkuaiyun.com/wzhworld/article/details/83443862</link><guid>https://blog.youkuaiyun.com/wzhworld/article/details/83443862</guid><author>wzhworld</author><pubDate>Sat, 27 Oct 2018 11:16:24 +0800</pubDate><description><![CDATA[目录

Activity

一、Activity生命周期

二、常见情况：

启动问题：

回收问题：Activity被回收的情况可能如下：

回收后数据存储问题：成对出现的onSaveInstanceState、onRestoreInstanceState

Activity配置问题：为了让Activity不重新创建

Activity属性设置：

Activity启动的设置：

Activit...]]></description><category></category></item><item><title><![CDATA[android RecyclerView：failed resolution of Landroid/support/v4/animation/AnimatorCompatHelper]]></title><link>https://blog.youkuaiyun.com/wzhworld/article/details/83302185</link><guid>https://blog.youkuaiyun.com/wzhworld/article/details/83302185</guid><author>wzhworld</author><pubDate>Tue, 23 Oct 2018 09:38:05 +0800</pubDate><description><![CDATA[记一个小错误，在使用RecyclerView的默认Animator的时候，点动画的时候会奔溃，而且没有具体到哪一行代码，看到了标题的报错。查了下是多个版本造成的冲突，所以将build.gradle的RecyclerView的版本修改成support：appcompat的版本号就没出问题了

...]]></description><category></category></item><item><title><![CDATA[设计模式-Builder模式]]></title><link>https://blog.youkuaiyun.com/wzhworld/article/details/80777297</link><guid>https://blog.youkuaiyun.com/wzhworld/article/details/80777297</guid><author>wzhworld</author><pubDate>Fri, 22 Jun 2018 18:26:23 +0800</pubDate><description><![CDATA[转载自：https://blog.youkuaiyun.com/sbsujjbcy/article/details/49208969设计模式-Builder模式那么什么是Builder模式呢。你通过搜索，会发现大部分网上的定义都是将一个复杂对象的构建与它的表示分离，使得同样的构建过程可以创建不同的表示但是看完这个定义，并没有什么卵用，你依然不知道什么是Builder设计模式。在此个人的态度是学习设计模式这种东...]]></description><category></category></item><item><title><![CDATA[设计模式-单例模式]]></title><link>https://blog.youkuaiyun.com/wzhworld/article/details/79845690</link><guid>https://blog.youkuaiyun.com/wzhworld/article/details/79845690</guid><author>wzhworld</author><pubDate>Sun, 08 Apr 2018 22:08:47 +0800</pubDate><description><![CDATA[设计模式-单例模式使用单例一般目的是为了使得整个程序中只能用到这一个对象而不会重复去创建，单例的构造函数通常不对外开放，然后通过一个静态方法或者枚举将对象暴露出来1、懒汉模式public class Singleton{
	private static Singleton instance;
	private Singleton(){}
	
	public static synchronized ...]]></description><category></category></item><item><title><![CDATA[设计模式-面向对象六大原则]]></title><link>https://blog.youkuaiyun.com/wzhworld/article/details/79843444</link><guid>https://blog.youkuaiyun.com/wzhworld/article/details/79843444</guid><author>wzhworld</author><pubDate>Sat, 07 Apr 2018 17:50:00 +0800</pubDate><description><![CDATA[面向对象六大原则本文为读书笔记以及一个观后理解写下，有误望能指出1、单一职责原则简单理解就是在一个类中完成本类的职责而不要过多添加其他的职责，以一个反例的图片加载器来理解public class ImageLoader{
	...
	//初始化缓存
	initImageCache(){...}
	//展示图片
	dispalyImage(){...}
	//下载图片
	downloadImage(...]]></description><category></category></item><item><title><![CDATA[android-WebView使用]]></title><link>https://blog.youkuaiyun.com/wzhworld/article/details/79504844</link><guid>https://blog.youkuaiyun.com/wzhworld/article/details/79504844</guid><author>wzhworld</author><pubDate>Sat, 10 Mar 2018 09:17:05 +0800</pubDate><description><![CDATA[一、WebView简单介绍WebView可以当做一个浏览网页使用，使用的是WebKit渲染加载的。1、声明布局&amp;lt;WebView
    android:id=&quot;@+id/mWebView&quot;
    android:layout_width=&quot;match_parent&quot;
    android:layout_height=&quot;match_parent&quot; /&amp;gt;  2、简单使用mWebView...]]></description><category></category></item><item><title><![CDATA[android-百度地图路径规划（二）]]></title><link>https://blog.youkuaiyun.com/wzhworld/article/details/79153009</link><guid>https://blog.youkuaiyun.com/wzhworld/article/details/79153009</guid><author>wzhworld</author><pubDate>Wed, 24 Jan 2018 17:22:00 +0800</pubDate><description><![CDATA[本文是在上一篇文章基础上进行的：http://blog.youkuaiyun.com/wzhworld/article/details/79130975
同上篇文章，这些内容都是在百度地图sdk可以看到，但是可能百度因为为了把地图分成几个功能，导致一些内容讲得不清晰，所以就有了以下的笔记，就结合着demo，别人实现的功能，写出来。
官方文档http://lbsyun.baidu.com/index.php]]></description><category></category></item><item><title><![CDATA[android-百度地图定位功能简单使用（一）]]></title><link>https://blog.youkuaiyun.com/wzhworld/article/details/79130975</link><guid>https://blog.youkuaiyun.com/wzhworld/article/details/79130975</guid><author>wzhworld</author><pubDate>Mon, 22 Jan 2018 17:29:48 +0800</pubDate><description><![CDATA[刚好最近毕业设计需要用到，做的过程中稍微走了下弯路，所以就mark一下
百度地图官方介绍http://lbsyun.baidu.com/index.php?title=androidsdk/guide/create-project/androidstudio
开发者申请的直接跳过，上述介绍的挺清楚，本文主要介绍下地图显示以及定位当前位置的实现
一、百度地图的显示






]]></description><category></category></item><item><title><![CDATA[android面试-个人面试总结（拿到offer）]]></title><link>https://blog.youkuaiyun.com/wzhworld/article/details/78338196</link><guid>https://blog.youkuaiyun.com/wzhworld/article/details/78338196</guid><author>wzhworld</author><pubDate>Wed, 25 Oct 2017 10:25:59 +0800</pubDate><description><![CDATA[先自我介绍一下，广东211末流学校，通信工程的，课程主要是通信原理那些，所以做安卓是一个个人兴趣，大一大二做的主要是机器人、单片机方面的。
我是到大三上的时候才开始自学java，当时是跟着《疯狂JAVA讲义》，刚开始学的时候，学了大概一个学期的JAVA算是把基础的知识点看完。然后到了大三下就差不多今年寒假回校的时候开始学android，想想自己能够拿offer也是挺幸运的，毕竟JAVA+Andr]]></description><category></category></item><item><title><![CDATA[android面试-面试知识点总结]]></title><link>https://blog.youkuaiyun.com/wzhworld/article/details/78338163</link><guid>https://blog.youkuaiyun.com/wzhworld/article/details/78338163</guid><author>wzhworld</author><pubDate>Wed, 25 Oct 2017 10:23:49 +0800</pubDate><description><![CDATA[作者是知乎Android开发工程师陶程，由梁观全贡献部分


第一部分：


Android(安卓)

Android基础知识Android内存泄漏总结Handler内存泄漏分析及解决Android性能优化ListView详解RecyclerView和ListView的异同AsyncTask源码分析插件化技术自定义控件事件分发机制ANR问题Art和Dalvik的区别Android关]]></description><category></category></item><item><title><![CDATA[android面试-死锁条件]]></title><link>https://blog.youkuaiyun.com/wzhworld/article/details/78338114</link><guid>https://blog.youkuaiyun.com/wzhworld/article/details/78338114</guid><author>wzhworld</author><pubDate>Wed, 25 Oct 2017 10:21:04 +0800</pubDate><description><![CDATA[死锁产生的原因，死锁产生的必要条件是什么，如何预防死锁，如何避免死锁，死锁定理？


死锁产生的原因：
1)竞争资源；
2)进程推进顺序不当。 死锁产生的必要条件： （1）互斥条件：一个资源一次只能被一个进程所使用，即是排它性使用。
 （2）不剥夺条件：一个资源仅能被占有它的进程所释放，而不能被别的进程强占。 （3）请求与保持条件：进程已经保持了至少一个资源，但又提出了新的资源要求，而]]></description><category></category></item><item><title><![CDATA[android面试-事件分发]]></title><link>https://blog.youkuaiyun.com/wzhworld/article/details/78337935</link><guid>https://blog.youkuaiyun.com/wzhworld/article/details/78337935</guid><author>wzhworld</author><pubDate>Wed, 25 Oct 2017 10:09:45 +0800</pubDate><description><![CDATA[回答思路：
首先事件是哪几个事件，视图的结构，事件分发的整个流程


事件类型：
首先事件分为按下、移动、抬起，还有一个cancel，非人为的结束



视图结构：
首先得有个结构模型概念：ViewGroup和View组成了一棵树形结构，最顶层为Activity的ViewGroup，其中ViewGroup是View的子类，又是View的容器，ViewGroup中可以存放View]]></description><category></category></item><item><title><![CDATA[android面试-Handler机制（oppo面试）]]></title><link>https://blog.youkuaiyun.com/wzhworld/article/details/78337641</link><guid>https://blog.youkuaiyun.com/wzhworld/article/details/78337641</guid><author>wzhworld</author><pubDate>Wed, 25 Oct 2017 09:49:38 +0800</pubDate><description><![CDATA[要点：
面试的时候回答的最主要的点就是上面的这一个环形的框图，要能够清晰的表达出来，后面具体的源码细节才讲得有意义，不然前面一个整体框架都错了，后面怎么说都没用。


另外，本文是基于你已经看过Handler的源码基础上作出的总结，MQ的话主要就是一个入队以及出队，next可以看下源码，他就是一个循环，当没有信息的时候阻塞，而Loop也是一个循环，嵌套next，next阻塞Loop也阻塞。]]></description><category></category></item><item><title><![CDATA[android面试-Android的线程和线程池]]></title><link>https://blog.youkuaiyun.com/wzhworld/article/details/78337554</link><guid>https://blog.youkuaiyun.com/wzhworld/article/details/78337554</guid><author>wzhworld</author><pubDate>Wed, 25 Oct 2017 09:43:12 +0800</pubDate><description><![CDATA[前言：
这一部分参考Android开发艺术探索的总结，所以最好有一本书来看，里面的内容会详细很多
线程与服务的区别:
如果你的 Thread 需要不停地隔一段时间就要连接服务器做某种同步的话，该 Thread 需要在 Activity 没有start的时候也在运行。这个时候当你 start 一个 Activity 就没有办法在该 Activity 里面控制之前创建的 Thread。因此你便需]]></description><category></category></item><item><title><![CDATA[android面试-ART与Dalvik]]></title><link>https://blog.youkuaiyun.com/wzhworld/article/details/78337435</link><guid>https://blog.youkuaiyun.com/wzhworld/article/details/78337435</guid><author>wzhworld</author><pubDate>Wed, 25 Oct 2017 09:35:10 +0800</pubDate><description><![CDATA[一、ART与Dalvik区别：
ART 的机制与 Dalvik 不同。在Dalvik下，应用每次运行的时候，字节码都需要通过即时编译器（just in time ，JIT）转换为机器码，这会拖慢应用的运行效率，而在ART 环境中，应用在第一次安装的时候，字节码就会预先编译成机器码，使其成为真正的本地应用。这个过程叫做预编译（AOT,Ahead-Of-Time）。这样的话，应用的启动(首次)和执行]]></description><category></category></item><item><title><![CDATA[android面试-android几种进程]]></title><link>https://blog.youkuaiyun.com/wzhworld/article/details/78327932</link><guid>https://blog.youkuaiyun.com/wzhworld/article/details/78327932</guid><author>wzhworld</author><pubDate>Tue, 24 Oct 2017 11:47:53 +0800</pubDate><description><![CDATA[#Android几种进程（转自https://github.com/francistao/LearningNotes/blob/master/Part1/Android/Android%E5%87%A0%E7%A7%8D%E8%BF%9B%E7%A8%8B.md）

前台进程：即与用户正在交互的Activity或者Activity用到的Service等，如果系统内存不足时前台进程是最后被杀死的]]></description><category></category></item><item><title><![CDATA[android面试-JavaConcurrent（Java并发）（深信服、美图）]]></title><link>https://blog.youkuaiyun.com/wzhworld/article/details/78326454</link><guid>https://blog.youkuaiyun.com/wzhworld/article/details/78326454</guid><author>wzhworld</author><pubDate>Tue, 24 Oct 2017 10:07:31 +0800</pubDate><description><![CDATA[JavaConcurrent(Java并发)（都是github上的内容）

Java并发基础知识
生产者和消费者问题
Thread和Runnable实现多线程的区别
线程中断
守护线程与阻塞线程
synchronized
多线程环境中安全使用集合API
实现内存可见的两种方法比较：加锁和volatile变量
死锁
可重入内置锁
使用wait/notify/notifyAll实现线程间通信
NIO
1、java有哪几种线程开启方式
2、如何保证线程顺序执行，即A执行完之后才执行B、B执行完之后才执行C
3、v]]></description><category></category></item><item><title><![CDATA[android面试-java集合]]></title><link>https://blog.youkuaiyun.com/wzhworld/article/details/78325923</link><guid>https://blog.youkuaiyun.com/wzhworld/article/details/78325923</guid><author>wzhworld</author><pubDate>Tue, 24 Oct 2017 09:29:17 +0800</pubDate><description><![CDATA[一、java集合框架
Java的集合框架主要由Collection以及Map两个接口派生出来，
Collection
├List
│├LinkedList
│├ArrayList
│└Vector
│　└Stack
└Set
Map
├Hashtable
├HashMap
└WeakHashMap




二、Collection
Collection主要由Se]]></description><category></category></item></channel></rss>