<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[z529905310的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/z529905310</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; z529905310]]></copyright><item><title><![CDATA[iOS获取本地视频列表数据]]></title><link>https://blog.youkuaiyun.com/z529905310/article/details/86136677</link><guid>https://blog.youkuaiyun.com/z529905310/article/details/86136677</guid><author>z529905310</author><pubDate>Wed, 09 Jan 2019 12:11:39 +0800</pubDate><description><![CDATA[iOS本地的视频存在于三个地方：

iTunes中影片中导入的视频文件
iTunes中通过共享文件导入的视频文件，即应用沙盒
摄像头拍摄的视频文件，可以相册找到

这三处获取视频列表方式不同。
iTunes中影片中导入的视频文件
需要导入头文件：
	#import &amp;amp;lt;MediaPlayer/MediaPlayer.h&amp;amp;gt;

查询代码：
	// iTunes check
    MPMed...]]></description><category></category></item><item><title><![CDATA[Flutter应用结构分析]]></title><link>https://blog.youkuaiyun.com/z529905310/article/details/85993409</link><guid>https://blog.youkuaiyun.com/z529905310/article/details/85993409</guid><author>z529905310</author><pubDate>Mon, 07 Jan 2019 12:12:30 +0800</pubDate><description><![CDATA[Flutter应用结构分析，iOS/Android的ipa/apk结构分析
首先，
有如下数据，表示在现有项目的ipa/apk集成Flutter后的大小变化





before
after




iOS
22KB
5MB


Android
2.3MB
7MB


然后，开始分析集成了Flutter的iOS/Android应用结构：
在分析之前，先要了解Flutter的dart语言。
Dar...]]></description><category></category></item><item><title><![CDATA[集成Flutter到现有项目]]></title><link>https://blog.youkuaiyun.com/z529905310/article/details/85951589</link><guid>https://blog.youkuaiyun.com/z529905310/article/details/85951589</guid><author>z529905310</author><pubDate>Sun, 06 Jan 2019 21:28:13 +0800</pubDate><description><![CDATA[集成Fluter到现有iOS &amp;amp;amp;amp; Android项目


官方详细文档地址：https://github.com/flutter/flutter/wiki/Add-Flutter-to-existing-apps

Flutter集成到现有项目功能依旧处于preview状态(2019.01.06)
操作环境：MAC/Linux
第一步
如果要集成到现有项目，需要切换Flutter SDK的...]]></description><category></category></item><item><title><![CDATA[关于Android加快应用崩溃效率]]></title><link>https://blog.youkuaiyun.com/z529905310/article/details/84581341</link><guid>https://blog.youkuaiyun.com/z529905310/article/details/84581341</guid><author>z529905310</author><pubDate>Wed, 28 Nov 2018 11:23:44 +0800</pubDate><description><![CDATA[关于Android加快应用崩溃效率
解决问题：Android应用崩溃后出现ANR
应用上线前遇到问题，在应用崩溃后发生了ANR，而且发生ANR的就是本来已经崩溃的应用。由于本次ANR发生在集成了新的crash日志手机模块，在经过过甩锅–打脸的流程后开始认真分析ANR的原因。
崩溃日志收集代码如下：
class MyApplication: Application {

    override ...]]></description><category></category></item><item><title><![CDATA[c语言指针笔记]]></title><link>https://blog.youkuaiyun.com/z529905310/article/details/84233642</link><guid>https://blog.youkuaiyun.com/z529905310/article/details/84233642</guid><author>z529905310</author><pubDate>Mon, 19 Nov 2018 11:21:01 +0800</pubDate><description><![CDATA[指针是一个变量，变量的值是内存地址。
int a = 10;
/**
 * 指针类型为 int*
 * 指针指向类型 int
 * 打印(a)会输出10
 * 打印(&amp;amp;a)会输出变量a所在的内存地址
 * 打印(*q)会输出变量a的值的内存地址
 * 打印(q)会输出指针q指向的内存地址
 */
int *q = &amp;amp;a;

/**
 * 指针类型为 int*
 * 指针指向类型 i...]]></description><category></category></item><item><title><![CDATA[java线程之wait()，notify()，notifyAll()，synchronized(obj){}，join()]]></title><link>https://blog.youkuaiyun.com/z529905310/article/details/83929518</link><guid>https://blog.youkuaiyun.com/z529905310/article/details/83929518</guid><author>z529905310</author><pubDate>Sat, 10 Nov 2018 15:08:00 +0800</pubDate><description><![CDATA[wait()，notify()，notifyAll()，synchronized
wait()和notify()是java.lang.Object的对象方法，synchronized是java关键字；wait()和notify()必须配合synchronized使用。
假设有
Object obj = new Object();
Thread t1 = new Thread(new Runnabl...]]></description><category></category></item><item><title><![CDATA[Java位运算应用]]></title><link>https://blog.youkuaiyun.com/z529905310/article/details/82775716</link><guid>https://blog.youkuaiyun.com/z529905310/article/details/82775716</guid><author>z529905310</author><pubDate>Wed, 19 Sep 2018 17:39:30 +0800</pubDate><description><![CDATA[常见的问运算包括：与(&amp;amp;amp;amp;)、或(|)、非(~)、异或(^)、左位移(&amp;amp;amp;lt;&amp;amp;amp;lt;)、右位移(&amp;amp;amp;gt;&amp;amp;amp;gt;或&amp;amp;amp;gt;&amp;amp;amp;gt;&amp;amp;amp;gt;)

与运算：运算符两边操作数同为1时结果为1，否则为0。例：1010 &amp;amp;amp;amp; 1100 = 1000，多位运算时按位与；
或运算：运算符两边操作]]></description><category></category></item><item><title><![CDATA[使用Android Camera2 API获取YUV数据]]></title><link>https://blog.youkuaiyun.com/z529905310/article/details/82771523</link><guid>https://blog.youkuaiyun.com/z529905310/article/details/82771523</guid><author>z529905310</author><pubDate>Wed, 19 Sep 2018 14:26:29 +0800</pubDate><description><![CDATA[Using Android Camera2 API Get YUV_420_888
使用Android Camera2 API获取YUV数据
涉及到的主要的Class如图：

demo地址在Github
Camera2 API使用步骤描述：


通过getSystemService()方法获取系统服务CameraManager


再通过系统服务CameraManager的openCamera方法...]]></description><category></category></item><item><title><![CDATA[深入了解JVM之内存管理]]></title><link>https://blog.youkuaiyun.com/z529905310/article/details/82666450</link><guid>https://blog.youkuaiyun.com/z529905310/article/details/82666450</guid><author>z529905310</author><pubDate>Wed, 12 Sep 2018 18:55:25 +0800</pubDate><description><![CDATA[对象引用

判断对象是否需要回收，有“可达性分析算法”：通过一系列的GC Roots对象作为起点，从这些节点开始向下搜索，所走过的路径叫做引用链，，但一个对象到GCRoots没有任何引用链相连(图论：从GCRoots到这个对象不可达), 则证明此对象可回收。

可作为GC Roots的对象包括：

1. 虚拟机栈中引用的对象
2. 方法区中类静态属性引用的对象
3. 方法区中常量引用的对象
4....]]></description><category></category></item><item><title><![CDATA[Mac下使用CLion编译zxing-cpp出现Undefined symbols for architecture x86_64]]></title><link>https://blog.youkuaiyun.com/z529905310/article/details/81778922</link><guid>https://blog.youkuaiyun.com/z529905310/article/details/81778922</guid><author>z529905310</author><pubDate>Fri, 17 Aug 2018 16:14:09 +0800</pubDate><description><![CDATA[报错如下：


Undefined symbols for architecture x86_64:
  &quot;_iconv&quot;, referenced from:
      (anonymous namespace)::add(std::__cxx11::basic_string&amp;lt;char, std::char_traits&amp;lt;char&amp;gt;, std::allocator&amp;lt;cha...]]></description><category></category></item><item><title><![CDATA[android调用NotificationManager.notify无效，通知栏不显示]]></title><link>https://blog.youkuaiyun.com/z529905310/article/details/81067272</link><guid>https://blog.youkuaiyun.com/z529905310/article/details/81067272</guid><author>z529905310</author><pubDate>Mon, 16 Jul 2018 16:27:25 +0800</pubDate><description><![CDATA[创建NotificationManager和Notification


val notificationManagerCompat = NotificationManagerCompat.from(context)

val builder: NotificationCompat.Builder = NotificationCompat.Builder(context, CHANNEL_ID)
...]]></description><category></category></item><item><title><![CDATA[Linux文件权限详解]]></title><link>https://blog.youkuaiyun.com/z529905310/article/details/78829264</link><guid>https://blog.youkuaiyun.com/z529905310/article/details/78829264</guid><author>z529905310</author><pubDate>Mon, 18 Dec 2017 01:09:18 +0800</pubDate><description><![CDATA[Linux文件权限相关]]></description><category></category></item><item><title><![CDATA[Android双击返回退出应用的写法]]></title><link>https://blog.youkuaiyun.com/z529905310/article/details/78729388</link><guid>https://blog.youkuaiyun.com/z529905310/article/details/78729388</guid><author>z529905310</author><pubDate>Wed, 06 Dec 2017 12:35:34 +0800</pubDate><description><![CDATA[private boolean mCanExit = false;@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    if(keyCode==KeyEvent.KEYCODE_BACK && event.getAction()==KeyEvent.ACTION_DOWN){
        if (mCanExi]]></description><category></category></item><item><title><![CDATA[Nginx自定义ETag算法]]></title><link>https://blog.youkuaiyun.com/z529905310/article/details/78305028</link><guid>https://blog.youkuaiyun.com/z529905310/article/details/78305028</guid><author>z529905310</author><pubDate>Sat, 21 Oct 2017 17:22:55 +0800</pubDate><description><![CDATA[Nginx基于 nginx-static-etags 三方模块自定义ETag算法nginx-static-etags模块源码：https://github.com/mikewest/nginx-static-etags.git 
基于此模块，修改其ETag生成算法。 
现改为请求所访问文件的MD5值，代码：https://github.com/z360394624/nginx-static-etag]]></description><category></category></item><item><title><![CDATA[HttpStatus 304状态码应用简介]]></title><link>https://blog.youkuaiyun.com/z529905310/article/details/78064918</link><guid>https://blog.youkuaiyun.com/z529905310/article/details/78064918</guid><author>z529905310</author><pubDate>Fri, 22 Sep 2017 17:03:42 +0800</pubDate><description><![CDATA[使用HttpStatus304报文头中两个维度支持304：    
  Last-Modified <-> If-Modified-Since 
  ETag <-> If-None-Match    客户端首次请求，服务端返回的报文头Last-Modified包含字段，假设值为a，客户端保存此值；    
客户端再次请求会在报文头增加If-Modified-Since字段，值为a，服务端收到请求后]]></description><category></category></item><item><title><![CDATA[linux下通过源码编译安装Nginx]]></title><link>https://blog.youkuaiyun.com/z529905310/article/details/78047034</link><guid>https://blog.youkuaiyun.com/z529905310/article/details/78047034</guid><author>z529905310</author><pubDate>Thu, 21 Sep 2017 00:00:02 +0800</pubDate><description><![CDATA[linux下通过源码编译安装Nginx
  
  系统需要C/C++编译环境,确保安装了：gcc、gcc-c++、make
  Nginx需要依赖三方库：pcre、zlib、openssl
  修改Nginx配置文件
  
步骤： 
1. 下载Nginx源码和必须的三方库： 
wget --no-cookies http://nginx.org/download/nginx-1.7.10.tar.g]]></description><category></category></item><item><title><![CDATA[杂记]]></title><link>https://blog.youkuaiyun.com/z529905310/article/details/77394102</link><guid>https://blog.youkuaiyun.com/z529905310/article/details/77394102</guid><author>z529905310</author><pubDate>Sat, 19 Aug 2017 01:27:21 +0800</pubDate><description><![CDATA[1.查询端口pidlsof lsof -i:8080]]></description><category></category></item><item><title><![CDATA[解决：Command `npm install --save --save-exact react-native` failed.]]></title><link>https://blog.youkuaiyun.com/z529905310/article/details/77004052</link><guid>https://blog.youkuaiyun.com/z529905310/article/details/77004052</guid><author>z529905310</author><pubDate>Wed, 09 Aug 2017 17:01:16 +0800</pubDate><description><![CDATA[解决：Command npm install --save --save-exact react-native failed.在Mac上使用 react-native init ProjectName 命令创建一个React_native项目是出现：Commandnpm install –save –save-exact react-nativefailed. google了很多方法都没有解决此问题]]></description><category></category></item><item><title><![CDATA[读书笔记《神经网络与深度学习》]]></title><link>https://blog.youkuaiyun.com/z529905310/article/details/72760578</link><guid>https://blog.youkuaiyun.com/z529905310/article/details/72760578</guid><author>z529905310</author><pubDate>Fri, 26 May 2017 00:13:32 +0800</pubDate><description><![CDATA[读书笔记《神经网络与深度学习》机器学习是人工只能的一个分支，机器学习本身是一个非常大的概念。机器学习是通过算法从大量历史数据中学习规律，从而对新的样本做智能识别或未来做预测。    机器学习按照学习方式分类：
监督学习    
  输入数据包括:历史数据、正确期望值、错误期望值
非监督学习    
  输入数据后有模型自行进行聚类、规则区分
强化学习    
  一个连续决策的过程，其数学本质是马尔]]></description><category></category></item><item><title><![CDATA[Android踩坑日记]]></title><link>https://blog.youkuaiyun.com/z529905310/article/details/72655158</link><guid>https://blog.youkuaiyun.com/z529905310/article/details/72655158</guid><author>z529905310</author><pubDate>Tue, 23 May 2017 19:37:03 +0800</pubDate><description><![CDATA[android踩坑日记1. 在使用Toast时，无法自定义Toast显示时间Toast.makeText(Context,  Message, [Toast.LENGTH_LONG|Toast.LENGTH_SHORT]).show();
  Toast.LENGTH_LONG/Toast.LENGTH_SHORT在源码中的值为1和0，所以makeText方法的第三个参数不能设置为自定义的时间毫秒数]]></description><category></category></item></channel></rss>