<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Treasure]]></title><description><![CDATA[美酒的酿造需要年头，美食的烹调需要时间；片刻等待，更多美味，更多享受。]]></description><link>https://blog.youkuaiyun.com/lyb2518</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; lyb2518]]></copyright><item><title><![CDATA[Glide源码分析]]></title><link>https://blog.youkuaiyun.com/lyb2518/article/details/100282432</link><guid>https://blog.youkuaiyun.com/lyb2518/article/details/100282432</guid><author>lyb2518</author><pubDate>Mon, 02 Sep 2019 15:04:16 +0800</pubDate><description><![CDATA[在早期的Android开发中，图片加载其实一直是个比较麻烦的问题。我们在处理图片时会遇到各种各样的问题：内存溢出、列表中图片错位等等。但到了如今，这些问题基本上是不会再遇到了。由于很多的优秀的图片加载框架帮我们处理了图片相关问题的痛点，所以现在Android中关于图片加载的部分变得非常简单。Android中最著名的图片加载框架就是Glide了，我们今天来深入研究一下Glide的源码。]]></description><category></category></item><item><title><![CDATA[Android SQLite -journal、-wal、-shm]]></title><link>https://blog.youkuaiyun.com/lyb2518/article/details/99646455</link><guid>https://blog.youkuaiyun.com/lyb2518/article/details/99646455</guid><author>lyb2518</author><pubDate>Thu, 15 Aug 2019 17:36:53 +0800</pubDate><description><![CDATA[在创建数据库时，不仅会生成xxx.db数据库文件，而且还会生成xxx.db-journal。这个-journal文件是用来干嘛的？其实这个文件是sqlite用来实现原子提交和回滚功能的。如果没有这个文件，SQlite将无法回滚未完成的事务，如果在事务中间发生崩溃或者掉电，那么整个数据库就有可能损坏。]]></description><category></category></item><item><title><![CDATA[What are the best practices for SQLite on Android?]]></title><link>https://blog.youkuaiyun.com/lyb2518/article/details/99300985</link><guid>https://blog.youkuaiyun.com/lyb2518/article/details/99300985</guid><author>lyb2518</author><pubDate>Thu, 15 Aug 2019 17:21:21 +0800</pubDate><description><![CDATA[What would be considered the best practices when executing queries on an SQLite database within an Android app?]]></description><category></category></item><item><title><![CDATA[使用强大的 Mockito 测试框架来测试你的代码]]></title><link>https://blog.youkuaiyun.com/lyb2518/article/details/94994195</link><guid>https://blog.youkuaiyun.com/lyb2518/article/details/94994195</guid><author>lyb2518</author><pubDate>Sun, 07 Jul 2019 15:23:15 +0800</pubDate><description><![CDATA[Mockito 是一个流行 mock 框架，可以和JUnit结合起来使用。Mockito 允许你创建和配置 mock 对象。使用Mockito可以明显的简化对外部依赖的测试类的开发。]]></description><category></category></item><item><title><![CDATA[用 Dagger 2 实现依赖注入]]></title><link>https://blog.youkuaiyun.com/lyb2518/article/details/94975654</link><guid>https://blog.youkuaiyun.com/lyb2518/article/details/94975654</guid><author>lyb2518</author><pubDate>Sun, 07 Jul 2019 12:03:15 +0800</pubDate><description><![CDATA[Dagger 2 为你解析这些依赖，并生成把它们绑定在一起的代码。也有很多其它的 Java 依赖注入框架，但它们中大多数是有缺陷的，比如依赖 XML，需要在运行时验证依赖，或者在起始时造成性能负担。 Dagger 2 纯粹依赖于 Java 注解解析器以及编译时检查来分析并验证依赖。它被认为是目前最高效的依赖注入框架之一。]]></description><category></category></item><item><title><![CDATA[震惊！RxJava 5 个不为人知的小秘密]]></title><link>https://blog.youkuaiyun.com/lyb2518/article/details/94559462</link><guid>https://blog.youkuaiyun.com/lyb2518/article/details/94559462</guid><author>lyb2518</author><pubDate>Wed, 03 Jul 2019 14:12:30 +0800</pubDate><description><![CDATA[无论你是刚刚接触 RxJava，还是已经使用过一段时间，关于 RxJava 你总会有些新的知识要学。在使用 RxJava 框架过程中，我发现了 5 点不那么明显的知识，使我可以充分挖掘它的潜能。]]></description><category></category></item><item><title><![CDATA[[译]Object的局限性——Kotlin中的带参单例模式]]></title><link>https://blog.youkuaiyun.com/lyb2518/article/details/94553437</link><guid>https://blog.youkuaiyun.com/lyb2518/article/details/94553437</guid><author>lyb2518</author><pubDate>Wed, 03 Jul 2019 10:55:00 +0800</pubDate><description><![CDATA[Kotlin中的带参单例模式]]></description><category></category></item><item><title><![CDATA[SQLite并发操作下的分析与处理，解决database is locked，以及多线程下执行事务等问题]]></title><link>https://blog.youkuaiyun.com/lyb2518/article/details/94402536</link><guid>https://blog.youkuaiyun.com/lyb2518/article/details/94402536</guid><author>lyb2518</author><pubDate>Mon, 01 Jul 2019 19:39:53 +0800</pubDate><description><![CDATA[SQLite并发操作下的分析与处理，解决database is locked，以及多线程下执行事务等问题]]></description><category></category></item><item><title><![CDATA[如何做一个自我要求的读者]]></title><link>https://blog.youkuaiyun.com/lyb2518/article/details/94402075</link><guid>https://blog.youkuaiyun.com/lyb2518/article/details/94402075</guid><author>lyb2518</author><pubDate>Mon, 01 Jul 2019 18:19:55 +0800</pubDate><description><![CDATA[拿同样的书给不同的人阅读，一个人却读得比另一个人好这件事，首先在于这人阅读的更主动，其次，在于他在阅读中的每一种活动都参与了更多的技巧。一个人越能运作这些活动，阅读的效果就越好。]]></description><category></category></item><item><title><![CDATA[生活不止眼前的苟且，还有诗和远方。如何理解？]]></title><link>https://blog.youkuaiyun.com/lyb2518/article/details/94141245</link><guid>https://blog.youkuaiyun.com/lyb2518/article/details/94141245</guid><author>lyb2518</author><pubDate>Sat, 29 Jun 2019 12:16:55 +0800</pubDate><description><![CDATA[诗和远方是人生前进的动力，苟且的生活无非只是自己另一面的信仰。两者都不是全部，两者也都不能够覆盖人生。你要做的，无非只是将诗和远方塑造的强大，将苟且生活塑造的完美，也就能成就最为完美的人生。]]></description><category></category></item><item><title><![CDATA[【AAC 系列四】深入理解架构组件：ViewModel]]></title><link>https://blog.youkuaiyun.com/lyb2518/article/details/92772882</link><guid>https://blog.youkuaiyun.com/lyb2518/article/details/92772882</guid><author>lyb2518</author><pubDate>Tue, 18 Jun 2019 11:39:04 +0800</pubDate><description><![CDATA[ViewModel 被设计来管理跟 UI 相关的数据， 并且能够感知生命周期；另外 ViewModel 能够在配置改变的情况下让数据得以保留。ViewModel 重在以感知生命周期的方式 管理界面相关的数据。]]></description><category></category></item><item><title><![CDATA[【AAC 系列三】深入理解架构组件：LiveData]]></title><link>https://blog.youkuaiyun.com/lyb2518/article/details/92772081</link><guid>https://blog.youkuaiyun.com/lyb2518/article/details/92772081</guid><author>lyb2518</author><pubDate>Tue, 18 Jun 2019 11:31:13 +0800</pubDate><description><![CDATA[LiveData 是一个能够感知生命周期、可观察的数据持有类，它被设计成 ViewModel 的一个成员变量；可以以一个 更解耦的方式来共享数据。]]></description><category></category></item><item><title><![CDATA[给 Android 开发者的 Flutter 指南]]></title><link>https://blog.youkuaiyun.com/lyb2518/article/details/92768901</link><guid>https://blog.youkuaiyun.com/lyb2518/article/details/92768901</guid><author>lyb2518</author><pubDate>Tue, 18 Jun 2019 10:55:51 +0800</pubDate><description><![CDATA[这篇文档旨在帮助 Android 开发者利用既有的 Android 知识来通过 Flutter 开发移动应用。如果你了解 Android 框架的基本知识，你就可以使用这篇文档作为 Flutter 开发的快速入门。]]></description><category></category></item><item><title><![CDATA[SQLite锁机制]]></title><link>https://blog.youkuaiyun.com/lyb2518/article/details/92655345</link><guid>https://blog.youkuaiyun.com/lyb2518/article/details/92655345</guid><author>lyb2518</author><pubDate>Mon, 17 Jun 2019 17:11:42 +0800</pubDate><description><![CDATA[转载:https://juejin.im/post/5a9bd187f265da23a334b077

SQLite有一个加锁表，用来帮助不同的写数据库都能够在最后一刻加锁，保证最大的并发性。 SQLite有五种不同的锁状态：









unlocked:最初状态，未加锁，连接还没有开始访问数据库
	shared:共享锁，多个连接可以同时获得并保持shared锁，即多个连接可以同时从...]]></description><category></category></item><item><title><![CDATA[Flutter 布局之 Row、Column]]></title><link>https://blog.youkuaiyun.com/lyb2518/article/details/90737767</link><guid>https://blog.youkuaiyun.com/lyb2518/article/details/90737767</guid><author>lyb2518</author><pubDate>Sun, 02 Jun 2019 11:53:40 +0800</pubDate><description><![CDATA[转载:https://juejin.im/post/5c6a5892e51d4542331c5528

前言

相关文章:Flutter学习目录 

github地址:Flutter学习

文章结构


	CrossAxisAlignment Propery

	CrossAxisAlignment.start
		CrossAxisAlignment.center
		CrossAxisAlig...]]></description><category></category></item><item><title><![CDATA[Flutter 布局之 Padding、Align、Center]]></title><link>https://blog.youkuaiyun.com/lyb2518/article/details/90737287</link><guid>https://blog.youkuaiyun.com/lyb2518/article/details/90737287</guid><author>lyb2518</author><pubDate>Sun, 02 Jun 2019 11:11:37 +0800</pubDate><description><![CDATA[转载:https://juejin.im/post/5b1cb0c46fb9a01e62598d56


本文主要介绍Flutter布局中的Padding、Align以及Center控件，详细介绍了其布局行为以及使用场景，并对源码进行了分析。


1. Padding


A widget that insets its child by the given padding.


1.1 简介

...]]></description><category></category></item><item><title><![CDATA[Flutter 布局之 Container]]></title><link>https://blog.youkuaiyun.com/lyb2518/article/details/90737038</link><guid>https://blog.youkuaiyun.com/lyb2518/article/details/90737038</guid><author>lyb2518</author><pubDate>Sun, 02 Jun 2019 10:52:02 +0800</pubDate><description><![CDATA[转载:https://juejin.im/post/5ba1af55e51d450ea3632ab4

在Flutter中，号称一切皆widget，手势是Widget，动画是Widget，UI更是Widget，今天我们就来说说Widgets里比较特殊的一个，Container。

1. 参考文献

Container初用起来很简单，但是里面的逻辑又有些复杂，我也不敢说完全吃透，所以本文初期版本还是...]]></description><category></category></item><item><title><![CDATA[【AAC 系列二】深入理解架构组件的基石：Lifecycle]]></title><link>https://blog.youkuaiyun.com/lyb2518/article/details/90550323</link><guid>https://blog.youkuaiyun.com/lyb2518/article/details/90550323</guid><author>lyb2518</author><pubDate>Sat, 25 May 2019 18:59:59 +0800</pubDate><description><![CDATA[Lifecycle 就是 AAC 中的一员，它能够帮助我们方便的管理 Activity 以及 Fragment 的生命周期。]]></description><category></category></item><item><title><![CDATA[【AAC 系列一】Android 应用架构新时代来临！]]></title><link>https://blog.youkuaiyun.com/lyb2518/article/details/90550254</link><guid>https://blog.youkuaiyun.com/lyb2518/article/details/90550254</guid><author>lyb2518</author><pubDate>Sat, 25 May 2019 18:51:05 +0800</pubDate><description><![CDATA[Android Jetpack 分为四大块：Architecture、UI、Foundationy 以及 Behavior]]></description><category></category></item><item><title><![CDATA[Android V1及V2签名原理简析]]></title><link>https://blog.youkuaiyun.com/lyb2518/article/details/90550193</link><guid>https://blog.youkuaiyun.com/lyb2518/article/details/90550193</guid><author>lyb2518</author><pubDate>Sat, 25 May 2019 18:43:46 +0800</pubDate><description><![CDATA[转载:https://juejin.im/post/5cd239386fb9a0320f7dfcbe

Android为了保证系统及应用的安全性，在安装APK的时候需要校验包的完整性，同时，对于覆盖安装的场景还要校验新旧是否匹配，这两者都是通过Android签名机制来进行保证的，本文就简单看下Android的签名与校验原理，分一下几个部分分析下：

APK签名是什么
	APK签名如何保证APK信息...]]></description><category></category></item></channel></rss>