林友松の代码屎

我就是我,是颜色不一样的烟火


  • 首页

  • 归档

  • 关于

iOS-内存管理之内存泄露爬坑记QAQ

发表于 2016-07-16   |   分类于 iOS   |     |   阅读次数

  前段时间被分配查应用的内存泄露问题,然后搜集了一大波内存管理相关的资料,并且在整个过程中狠狠的实践了一波。下面就把这段时间内碰到的坑(从别的地方也搜刮到很多坑),以及搜集到的一些理论知识(简洁版)总结一发。

  背景:一个复杂的iOS应用可能会混合着MRR和ARC两种内存管理方式,就是有一部分文件MRR实现,而另一部分则是ARC实现(原因目测是因为复用MRR实现的旧代码)。所以就存在一种现象,如果后来的开发者没注意该文件是否为ARC模式时,则有可能会忘记对对象进行release等操作从而导致内存泄露的发生。

  除了项目可能是ARC和MRR混合模式,有时候还有很多底层库是使用C/C++实现的,所以对于C/C++的内存管理也是需要有所了解的。

阅读全文 »

Google protocol buffer 使用和原理浅析 - PbCodec介绍

发表于 2016-07-09   |     |   阅读次数

#Protocol Buffer
  Google Protocol Buffer又简称Protobuf,它是一种很高效的结构化数据存储格式,一般用于结构化数据的串行化,简单说就是我们常说的数据序列化。这种序列化的协议非常轻便高效,而且是跨平台的,目前已支持多种主流语言(3.0版本支持C++, JAVA, C#, OC, GO, PYTHON等)。

  通过这种方式序列化得到的二进制流数据比传统的XML, JSON等方式的结果都占用更小的空间,并且其解析效率也更高,用于通讯协议或数据存储领域是非常好的。

  再者,其使用的方式也非常简单,我们只需要预先定义好消息(message)的数据格式,然后通过其提供的compiler即可生成对应的文件,在那些文件里定义和实现了操作这个数据结构所有字段的setter/getter方法,我们只需要使用这些方法设置该数据结构的字段,然后通过序列化方法即可得到需要的结果(二进制数据流)。

阅读全文 »

iOS-监听UITextField值改变事件

发表于 2016-06-06   |   分类于 iOS   |     |   阅读次数

  在实际情况中我们有时候在界面输入时候需要让用户输入的数据与模型同步,那么可能我们就需要监听UITextField值改变事件,然后在响应的方法中将新的值同步到模型中。

阅读全文 »

iOS-Effective Objective-C 2.0 读书笔记(三)

发表于 2016-04-29   |   分类于 iOS   |     |   阅读次数

第三章的内容主要是说接口和API设计相关的注意事项。比如说我们自己写的代码需要设计以便于代码复用时,应该注意的一些问题包括哪些。

阅读全文 »

iOS-Effective Objective-C 2.0 读书笔记(二)

发表于 2016-04-24   |   分类于 iOS   |     |   阅读次数

哈哈,上一篇可以参考iOS-Effective Objective-C 2.0 读书笔记(一)。这一章主要是涉及对象、消息和运行期的一些相关特性。

阅读全文 »

iOS-Effective Objective-C 2.0 读书笔记(一)

发表于 2016-04-23   |   分类于 iOS   |     |   阅读次数

今天开始看了Effective Objective-C 2.0的一部分内容,然后打算记录下来一些其中提到的比较有用的注意点,然后在之后的实际开发过程中能加以应用,写出更好的代码。

阅读全文 »

iOS开源-图像缓存库LYImageCache

发表于 2016-03-27   |   分类于 iOS   |     |   阅读次数

LYImageCache

一个极简单的用于对UIImage图像数据进行缓存操作的库。
这个库的实现主要参考了SDWebImage中的图片缓存的实现。(大部分代码源于此,哈哈哈哈哈哈哈哈)…

阅读全文 »

iOS-RunLoop机制学习笔记

发表于 2016-03-16   |   分类于 iOS   |     |   阅读次数

一直以来都听说过RunLoop这个东西,并且知道它是用来在某个线程中开启一种循环等待接受并处理事件状态的方法。然后好奇之下就查找了一些资料,然后发现了一篇大神对RunLoop的深入分析,看后大呼神奇!虽然看的不是很懂,好吧其实感觉看懂了皮毛而已,但是文章真的很不错,的确值得多看几次,细细品味!!!

阅读全文 »

iOS-使用URL Scheme实现app的进程间通信

发表于 2016-03-13   |   分类于 iOS   |     |   阅读次数

iOS平台的进程间通信是一件很蛋疼的事,通过窝大量的资料搜索,最后发现好像比较普遍的实现方式则是使用URL Scheme(好吧好像别的方式我还没搞懂,准备看英文文献学习学习先哈哈哈哈哈)。

阅读全文 »

iOS-UIApplicationDelegate学习笔记

发表于 2016-03-12   |   分类于 iOS   |     |   阅读次数

UIApplicationDelegate协议定义了很多方法,这些方法将会在你的App的生命周期中发生重要的事件时被一个单例对象UIApplication所调用。

阅读全文 »

iOS-UIScrollview滑动时标题栏自动隐藏和显示效果

发表于 2016-03-11   |   分类于 iOS   |     |   阅读次数

  本文主要介绍如何实现当UIScrollview滑动时,自动隐藏和显示标题栏的效果。其中布局采用Autolayout的方式,并且为了代码精简,使用了第三方库Masonry,其使用参考【iOS-Masonry学习笔记】。使用它的原因是可以很好的结合动画效果的实现!

阅读全文 »

Objective-C Runtime 学习(三)

发表于 2016-03-09   |   分类于 iOS   |     |   阅读次数

来源:ian(@ianisme)
链接:http://www.ianisme.com/ios/2019.html

本片包括运用runtime机制实现对类的持久化,类的数据转化,以及动态给类增加方法等内容。更多内容可以参考前两篇的基础内容。

阅读全文 »

Objective-C Runtime 学习(二)

发表于 2016-03-09   |   分类于 iOS   |     |   阅读次数

来源:ian(@ianisme)
链接:http://www.ianisme.com/ios/2019.html

本篇描述的内容主要是如何运用runtime机制,调用一些底层的实现方法,动态的获取类的成员变量,属性,方法,以及一些更高级的操作,从而加深对runtime机制的了解。上一篇是基础内容的了解,【传送门-Objective-C Runtime 学习(一)】

阅读全文 »

Objective-C Runtime 学习(一)

发表于 2016-03-05   |   分类于 iOS   |     |   阅读次数

来源:ian(@ianisme)
链接:http://www.ianisme.com/ios/2019.html

一、前言

如果你没有Objective-C基础,请学习了基础的iOS开发再来,这个1小时是给有一定iOS基础的童鞋的。如果你是大牛或者你感觉Objective-C Runtime太简单不用1小时学习的,也请您绕道,这或许只是我的私人笔记了。

阅读全文 »

iOS-Objective-C的属性修饰符

发表于 2016-02-28   |   分类于 iOS   |     |   阅读次数

  在苹果引入了ARC之后,属性的也相对应的增加了一些修饰符。所以这里我们分别对MRC和ARC两种情况下的属性修饰符进行学习。其实主要的区别集中在对对象生命周期进行描述的属性修饰符会有所区别而已。

阅读全文 »
12…4
lysongzZ_

lysongzZ_

做一个有理想的逗比。

56 日志
7 分类
61 标签
GitHub Weibo
友情链接
  • 霍曉霖
  • 乞力马扎罗的雪雪
  • Zhangxin's Portfolio
© 2015 - 2016 lysongzZ_
浙江大学
湖南大学
Email:lysongzi.hnu@gmail.com