关于单元格cell的复用机制
/**
cell 的复用机制
看到多少行cell 就会实例化多少个cell对象
tableView复用池
每个tableView的复用池是独立的
*/
/**
1. 不是有多少行就有多少个cell对象
2. 每一行中都有一个cell对象
3. 当某一行移动出屏幕时,会将行中的cell放tableViewCell复用池中,而不是直接释放
4. 每当新的一行出现时,会先从tableViewCell复用池中找是否有闲置的对应标签的cell对象.如果有则就直接拿出来使用,如果没有那就实例化新的cell对象,并设置对应标签
5. 屏幕上最多显示多少行就会有多少个cell对象,但是前提是都是同一个标签的cell
6. 不同标签的cell是不可以相互复用的,只能复用同一标签的
7. 每个tableView的tableViewCell复用池是独立的,不可以相互之间使用
缺点 复用出来的cell会带有之前设置的内容 容易造成显示混乱,我们在使用时应该再取出cell后进行清空操作
/**
* 1. 为什么要重用?
消耗性能:不断的创建和销毁
重用是为了提高系统运行的效率 ,避免重复的alloc和dealloc,消耗性能
如果发现 cell在滑动的时候 不够流畅,则是因为它不断的被销毁和被创建
2. 内存中最多有多少个cell对象
屏幕 + 1个
*/
关于复用的理解
最新推荐文章于 2022-10-10 22:10:14 发布