iOS开发笔记— 数据库、Crash、内存问题分析

本文分享了iOS开发中遇到的UIKit高度异常、CoreData数据库升级慢、objc_msgSend Crash和内存问题的分析与解决方案。包括iOS 11 UITabbar高度调整、数据库性能优化、Crash定位方法以及内存管理技巧。
摘要由CSDN通过智能技术生成

前言

分享iOS开发中遇到的问题,和相关的一些思考,本次内容包括:UIKit的iOS11问题、数据库问题定位、线上Crash处理、内存问题分析。

正文

1、iOS 11的UITabbar的高度异常

问题描述:iOS 11+iPhone,在横竖屏切换的场景下,UITabbarViewController的底部栏UITabbar会出现高度异常。

问题定位:经过调试发现,从竖屏到横屏的时候,系统会改变UITabbar的高度;而我们的底部栏高度是自定义的值,故而会导致系统修改后的高度与自定义值不相同的情况。

解决方案,KVO:

- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context {        if (self.tabBar.height != KSTabBarHeight) {            self.tabBar.height = KSTabBarHeight;            self.tabBar.bottom = SCREEN_HEIGHT;        }

Stackoverflow的类似情况

2、CoreData数据库升级时间长

问题描述:App在升级的时候会对CoreData数据库进行一次迁移,而某些用户反馈升级时间长达数分钟。

问题定位:CoreData数据库迁移使用的是系统提供的自动迁移,经过本地测

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值