<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[cathuzi的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/cathuzi</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; cathuzi]]></copyright><item><title><![CDATA[Flutter日志-ListView]]></title><link>https://blog.youkuaiyun.com/cathuzi/article/details/119722705</link><guid>https://blog.youkuaiyun.com/cathuzi/article/details/119722705</guid><author>cathuzi</author><pubDate>Mon, 16 Aug 2021 00:00:59 +0800</pubDate><description><![CDATA[1. ListView.builder 长列表


ListView.builder(
  itemCount: items.length,
  itemBuilder: (context, index) {
    return ListTile(
      title: Text(items[index]),
    );
  },
)

2. 直接添加 ListItem child创建短列表，像LinearLayout一样。


ListView(
  children: &lt;Widget&gt]]></description><category></category></item><item><title><![CDATA[Flutter学习日志-1-入门]]></title><link>https://blog.youkuaiyun.com/cathuzi/article/details/119701988</link><guid>https://blog.youkuaiyun.com/cathuzi/article/details/119701988</guid><author>cathuzi</author><pubDate>Sun, 15 Aug 2021 23:50:12 +0800</pubDate><description><![CDATA[1. 命令式 声明式

 声明式：用户界面就是应用的当前状态。 UI=f(state)





声明式UI介绍：https://flutter.cn/docs/get-started/flutter-for/declarative



2. Dart语法-和其他编程语言的比较

3.RenderObjects 了解
]]></description><category></category></item><item><title><![CDATA[Http历史版本和相关知识介绍]]></title><link>https://blog.youkuaiyun.com/cathuzi/article/details/113815337</link><guid>https://blog.youkuaiyun.com/cathuzi/article/details/113815337</guid><author>cathuzi</author><pubDate>Mon, 15 Feb 2021 13:06:05 +0800</pubDate><description><![CDATA[参考链接

w3c：https://www.w3.org/Protocols/
ietf：https://tools.ietf.org/html/rfc2616
阮一峰 http://www.ruanyifeng.com/blog/2016/08/http.html
wiki: https://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol

一 、Http的历史版本
HTTP 各版本发布时间
Year	HTTP Version
1991	0.9
1996]]></description><category></category></item><item><title><![CDATA[第20章  Annotation]]></title><link>https://blog.youkuaiyun.com/cathuzi/article/details/86510376</link><guid>https://blog.youkuaiyun.com/cathuzi/article/details/86510376</guid><author>cathuzi</author><pubDate>Wed, 16 Jan 2019 16:40:21 +0800</pubDate><description><![CDATA[使我们在代码中添加信息提供了一种形式化的方法，是我们在稍后时刻非常方便地使用这些数据。可以在编译时使用，也可以在运行时使用。

基本语法
怎么使用，我们应该很熟悉。假设有个已经定义好的注解 @Test：
package annotations;
import net.mindview.atunit.*;
public class Testable {
    public void execute...]]></description><category></category></item><item><title><![CDATA[HTTP知识总结（三）HttpUrlConnection使用]]></title><link>https://blog.youkuaiyun.com/cathuzi/article/details/81639062</link><guid>https://blog.youkuaiyun.com/cathuzi/article/details/81639062</guid><author>cathuzi</author><pubDate>Fri, 16 Nov 2018 00:12:59 +0800</pubDate><description><![CDATA[参考内容：

1. Oracle Java HttpUrlConnection
2. Android Java HttpUrlConnection

在Android系统上和JRE上，Java HttpUrlConnection的API（使用方式）肯定是一样的，但是实现的细节并不一样。



一 GET


import java.io.IOException;
import java.io....]]></description><category></category></item><item><title><![CDATA[HTTP 知识总结(四) OkHttp3 的使用]]></title><link>https://blog.youkuaiyun.com/cathuzi/article/details/84075950</link><guid>https://blog.youkuaiyun.com/cathuzi/article/details/84075950</guid><author>cathuzi</author><pubDate>Wed, 14 Nov 2018 23:40:33 +0800</pubDate><description><![CDATA[参考链接：

square:http://square.github.io/okhttp/

github:https://github.com/square/okhttp

Okhttp是square推出的一个支持Http1.1和Http2.0的客户端（不知道支持1.0不，抽时间确认一下）。打开上面的链接，就可以看到square官方的简短介绍，然后后面给了示例代码。okhttp支持同步和异...]]></description><category></category></item><item><title><![CDATA[HTTP知识总结(二): Apache HttpClient 使用]]></title><link>https://blog.youkuaiyun.com/cathuzi/article/details/81538651</link><guid>https://blog.youkuaiyun.com/cathuzi/article/details/81538651</guid><author>cathuzi</author><pubDate>Thu, 09 Aug 2018 18:12:58 +0800</pubDate><description><![CDATA[参考：

1. Apache Httpclient tutorial
2. Jar包下载 

Apache Httpclient 是由apchae提供的http实现。虽然jdk的 java.net包提供了 HttpUrlconnection，但是功能和灵活性都有所欠缺。而apache httclient在效率和功能上有更好的表现。

使用httpclient,需要先到apache网站下载对应的ja...]]></description><category></category></item><item><title><![CDATA[内存优化 和 性能优化 的总结]]></title><link>https://blog.youkuaiyun.com/cathuzi/article/details/61668969</link><guid>https://blog.youkuaiyun.com/cathuzi/article/details/61668969</guid><author>cathuzi</author><pubDate>Sun, 12 Mar 2017 22:54:53 +0800</pubDate><description><![CDATA[从 检查内存，减少使用， 复用，以及及时释放几个维度去考虑。
1. 检查
    可以ddms查看内存使用情况，可以使用 adb  shell dumpsys meminfo 查看，也可以使用 leakcancy工具查看。
2. 减少使用
    一， bitmap
    二， activity 泄漏
    三， 匿名内部类的使用
    四， static 全局变量的使用]]></description><category></category></item><item><title><![CDATA[Bitmap的操作]]></title><link>https://blog.youkuaiyun.com/cathuzi/article/details/61625537</link><guid>https://blog.youkuaiyun.com/cathuzi/article/details/61625537</guid><author>cathuzi</author><pubDate>Sun, 12 Mar 2017 19:08:11 +0800</pubDate><description><![CDATA[从网上一个开源的库中整理出来的：


1. 裁剪

    /**
     * 裁剪图片
     *
     * @param src     源图片
     * @param x       开始坐标x
     * @param y       开始坐标y
     * @param width   裁剪宽度
     * @param height  裁剪高度
     *]]></description><category></category></item><item><title><![CDATA[MVP和MVC的区别]]></title><link>https://blog.youkuaiyun.com/cathuzi/article/details/55013850</link><guid>https://blog.youkuaiyun.com/cathuzi/article/details/55013850</guid><author>cathuzi</author><pubDate>Mon, 13 Feb 2017 00:27:35 +0800</pubDate><description><![CDATA[1 mvc（model-controller-view）
   把业务剥离到controller中，让view专注于现实ui。但是view和model并没有解耦合，controller和view有可能由同一个对象承担，比如Android的Activity.
2. mvp (model-view-presenter)
    实现了view和model的解耦。提高了系统的扩展性，可测试性，代码]]></description><category></category></item><item><title><![CDATA[String, StringBuffer和StringBuilder]]></title><link>https://blog.youkuaiyun.com/cathuzi/article/details/54994023</link><guid>https://blog.youkuaiyun.com/cathuzi/article/details/54994023</guid><author>cathuzi</author><pubDate>Sun, 12 Feb 2017 00:33:41 +0800</pubDate><description><![CDATA[String :   private final char[] value;
    可见，String本身的内容不能修改的。


StringBuilder与StringBuffer有公共父类AbstractStringBuilder(抽象类)

      StringBuffer: 线程安全
      StringBuilder:  线程不安全]]></description><category></category></item><item><title><![CDATA[ListView优化]]></title><link>https://blog.youkuaiyun.com/cathuzi/article/details/54991804</link><guid>https://blog.youkuaiyun.com/cathuzi/article/details/54991804</guid><author>cathuzi</author><pubDate>Sun, 12 Feb 2017 00:00:46 +0800</pubDate><description><![CDATA[从哪几个方面优化入手？


1. 复用view (convertView))。
    View getView(int position, View convertView,
 ViewGroup parent);
  convertView 即为复用的view，不为null时既可复用。
2. 使用 ViewHolder。
    解决 findViewById() 重复调用带来]]></description><category></category></item><item><title><![CDATA[设计模式的分类]]></title><link>https://blog.youkuaiyun.com/cathuzi/article/details/54981669</link><guid>https://blog.youkuaiyun.com/cathuzi/article/details/54981669</guid><author>cathuzi</author><pubDate>Sat, 11 Feb 2017 11:43:44 +0800</pubDate><description><![CDATA[常见的设计模式有23种，共3种分类：
一、创建型模式：单例模式、抽象工厂模式、建造者模式、工厂模式、原型模式。

二、结构型模式：适配器模式、桥接模式、装饰模式、组合模式、外观模式、享元模式、代理模式。
三、行为型模式：模版方法模式、命令模式、迭代器模式、观察者模式、中介者模式、备忘录模式、解释器模式、状态模式、策略模式、职责链模式、访问者模式。




Abstract Fac]]></description><category></category></item><item><title><![CDATA[关于Android Bitmap]]></title><link>https://blog.youkuaiyun.com/cathuzi/article/details/54968915</link><guid>https://blog.youkuaiyun.com/cathuzi/article/details/54968915</guid><author>cathuzi</author><pubDate>Fri, 10 Feb 2017 13:11:33 +0800</pubDate><description><![CDATA[说到内存和性能优化，都会谈到Bitmap，经常会谈到recycle()方法。但是又有人说不需要调用recycle().到底是什么情况呢？看源码注视，一目了然。


    /**
     * Free the native object associated with this bitmap, and clear the
     * reference to the pixel data]]></description><category></category></item><item><title><![CDATA[stagefright flow]]></title><link>https://blog.youkuaiyun.com/cathuzi/article/details/17483183</link><guid>https://blog.youkuaiyun.com/cathuzi/article/details/17483183</guid><author>cathuzi</author><pubDate>Wed, 09 Nov 2016 19:15:34 +0800</pubDate><description><![CDATA[在java层实用多媒体框架有下面几部：
1.  new MediaPlayer()
2. setDataSource()
3. prepare()
4. play()


每一步都做了什么：
new MediaPlayer():
调用native层的native]]></description><category></category></item><item><title><![CDATA[ACodec和OMXCodec的比较]]></title><link>https://blog.youkuaiyun.com/cathuzi/article/details/18193919</link><guid>https://blog.youkuaiyun.com/cathuzi/article/details/18193919</guid><author>cathuzi</author><pubDate>Wed, 09 Nov 2016 19:10:28 +0800</pubDate><description><![CDATA[要掌握的内容：
1. ACodec中omx组件的创建过程
2. buffer的操作
3. 和OMXCodec的区别

组件的创建基本上和OMXCodec的相同。




1. 在ACodec::ExecutingState::resume()中，有：
   void ACodec::ExecutingState::resume() {
       ....]]></description><category></category></item><item><title><![CDATA[binder 与 ProcessState & IPCThreadState]]></title><link>https://blog.youkuaiyun.com/cathuzi/article/details/53080074</link><guid>https://blog.youkuaiyun.com/cathuzi/article/details/53080074</guid><author>cathuzi</author><pubDate>Tue, 08 Nov 2016 17:15:42 +0800</pubDate><description><![CDATA[每次看binder相关内容时，都会牵扯到这两个类，每次都看也能理解。不过工作中用的少，脑袋记性不好，所以留下的印象并不是很深刻，这次下定决心，要记下来，下次不翻别人的资料和代码了，直接来瞄一眼自己写的，很快就会回忆起来。
如果说直观印象，我脑袋里立马能跳出来两句话：“启动线程池”，“加入线程池”。然后，我是越来越讨厌自己的囫囵吞枣了，我会逐渐把一切都弄清楚。一点点去地去扩充自己的理解。]]></description><category></category></item><item><title><![CDATA[LruCache]]></title><link>https://blog.youkuaiyun.com/cathuzi/article/details/53063282</link><guid>https://blog.youkuaiyun.com/cathuzi/article/details/53063282</guid><author>cathuzi</author><pubDate>Mon, 07 Nov 2016 08:50:19 +0800</pubDate><description><![CDATA[Lru: Least Recent Used
作为缓存机制，应该考虑2个问题：首先具有合适的缓存效果，其次要保证内存不会被缓存挤爆。
Lru的实现是这样的：申请一定的内存，通过形式将需要缓冲的对象保存在申请内存的队列中。当使用到某个对象时，就把这个对象插入到队列的head部分。当队列满时，则移除队列的end部分的值。移除除队列的对象可以被GC回收，有些需要手动回收的资源，需要继承entryRe]]></description><category></category></item><item><title><![CDATA[Java Object]]></title><link>https://blog.youkuaiyun.com/cathuzi/article/details/53043954</link><guid>https://blog.youkuaiyun.com/cathuzi/article/details/53043954</guid><author>cathuzi</author><pubDate>Sat, 05 Nov 2016 12:46:02 +0800</pubDate><description><![CDATA[Java doc中这样描述 Object:
"The root class of Java class hierarchy. All non-primitive types (including arrays) inherit either directly or indirectly from this class".
即，Java中除基础类型之外的类型（包括Enum），都是直接或间接地继承]]></description><category></category></item><item><title><![CDATA[EventBus 3.0详解]]></title><link>https://blog.youkuaiyun.com/cathuzi/article/details/52704070</link><guid>https://blog.youkuaiyun.com/cathuzi/article/details/52704070</guid><author>cathuzi</author><pubDate>Thu, 29 Sep 2016 18:02:08 +0800</pubDate><description><![CDATA[EventBus 3.0修改了以前版本用特定名称标记event接收者的方法，该用注解表示event接收者。
该注解为 @Subscribe.简单分析了一般流程和部分UML类图，倒出成png图如下：]]></description><category></category></item></channel></rss>