IOS系列——页面释放不掉的问题

【iOS开发系列】启动页面广告(可实现动态加载) 很多APP启动的时候,需要动态的更换启动页面,可以在这个地方增添广告或者是将APP中新加入的一些活动信息等展示给用户。废话不多说,上代码: 首先声明一下我们需要的这个页面:@property (strong, nonatomic) UIView *ADView; @synthesize ADView; 一般都是在AppDelegate中的这个方法进行实现,当然这里面的图片 阅读详情

在之前的文章中也有写一些页面跳转,和页面对应的释放问题,但是对于新手来讲,有时候总是会忘记release;很多时候页面的确是跳转过去了,但是关闭页面的时候,内存释放不掉,在这里我也根据我在之前的一段时间的学习和应用中,总结了我遇到过的几种可能性

1、手动释放内存的:

一定要注意,有些对象没有释放的话,页面一样可以释放掉,比如NSString 、NSMutableArray 等等这样的对象,,只不过会造成内存泄露。

但是对于一些视图类的对象,如果不释放,即使关闭页面,内存也释放不掉,比如UIView *view  UIImageView *view  UIScrollview *view 等等,这里面的view都要释放掉才能保证内存及时准确的释放

            secondview *sec = [[secondview alloc]initWithNibName:@"secondview" bundle:nil];
            [self presentViewController:sec animated:NO completion:^{}];
            [sec release];
而且在跳转页面的时候,上面代码里面的这个也要保证释放过

2、使用ARC自动回收机制的

使用自动回收机制的,我们不用吧注意力几种到release上,但是同样的,他的回收也是我们不可控制的,这就导致有些时候,对象release不了导致页面释放不了,比如说,页面跳转的时候,我们定义一个全局变量  (secondview 是额外的一个类页面)

@interface ViewController (){
    secondview *sec;
}
然后我们在跳转事件的时候这样写
            sec = [[secondview alloc]initWithNibName:@"secondview" bundle:nil];
            [self presentViewController:sec animated:NO completion:^{}];
这样页面跳转过去之后,即使关闭页面,这个页面内存也释放不掉,这个也提醒我们,我们在使用全局变量的时候,要多留意了

3、页面中有循环回调函数的:

如果页面中有循环回调函数,页面关闭的时候也关不掉,比如我之前写了一个页面,上面是有一张图片的不停旋转

-(void)startAnimation:(UIImageView *)view{
    CGAffineTransform endAngle = CGAffineTransformMakeRotation(angle * (M_PI / 180.0f));
    [UIView animateWithDuration:0.5 delay:0 options:UIViewAnimationOptionCurveLinear animations:^{
        view.transform = endAngle;
    } completion:^(BOOL finished) {
        angle += 1;
        [self startAnimation:view];
    }];
}
如果在方法中直接这样写得话,内存是释放不掉的, 为了避免这种状况,我们需要加判断,在关闭页面的时候让他不能继续回调;设置一个BOOL变量 haveClosed;并初始化为YES;在关闭页面的时候,将haveClosed设置为NO;旋转的函数改写为:
-(void)startAnimation:(UIImageView *)view{
    CGAffineTransform endAngle = CGAffineTransformMakeRotation(angle * (M_PI / 180.0f));
    [UIView animateWithDuration:0.5 delay:0 options:UIViewAnimationOptionCurveLinear animations:^{
        view.transform = endAngle;
    } completion:^(BOOL finished) {
       if(haveClosed == YES){
        angle += 1;
        [self startAnimation:view];
    }else{
        return ;
       } 
    }];
}

iOS软键盘调用遮挡问题及软键盘撑起的页面无法正常回退到原来位置BUG解决方案 最近在写一个h5,大家都知道,移动端开发嘛,兼容问题是经常会遇到的,尤其是iOS,本人已经无力吐槽了。 虽然移动端安卓和iOS大部分内容都是兼容的,但是iOS还是有一些地方与安卓还是很有差异的,所以在开发过程中个人建议大家将iOS不兼容部分独立出来做处理。 今天本人就碰到了一个iOS的特殊bug,是输入框调起软键盘后输入框fixed定位失效被软键盘遮挡,发送消息过后软键盘占用部分无法正常回退的... 阅读详情

相关推荐

iOS App内H5页面倒计时保持准确的解决方案

在iOS应用中,H5页面的倒计时功能是常见的交互元素之一。然而,iOS平台的后台处理机制为实现精准倒计时带来了挑战。开发者经常面临着倒计时功能在应用挂起或进入后台时不能正常工作的困境。Background Fetch是iOS提供的一种机制,允许应用定期从服务器获取更新的数据,而无需用户显式地打开应用。这个过程是由系统控制的,开发者可以设置时间间隔,告诉系统应用何时更新数据最合理。在Background Fetch期间,应用被授予短暂的运行时间,需要快速地获取并更新数据。

weixin_42609225的博客 1314

半夜写代码之:APP 的 Form 的释放

在 Windows 底下,我们通常采用很多个 Form 来把复杂的界面元素,按功能划分,放到不同的 Form 上来显示。需要新的界面时,就来一个 Form2.Show 就可以了。 在 APP 底下,手机的资源比较有限,太多的 Form 会让手机受不了。因此,很多 FireMonkey 的开发建议里面,建议尽量少用 Form,多用 Frame。因为 Form 占用的资源比较多。 但是,在很多界面

pcplayer的博客 1080

深度学习初探 - 入门 DL 主流框架

这个课程主要是引导大家入门TensorFlow、Theano、Keras 及 Caffe 几个主流的深度学习框架。在课程中有关各种算法的详细推导及思想我们不会做过多的陈诉,旨在通过让同学们动手操作搭建自己的神经网络模型,了解如何使用这些框架解决实际问题。课程会基于每个框架的官方文档,先带大家熟悉框架中基本的定义语法及常用函数(可看成深度模型的小零件),每个实验最后都会综合这些零件搭建一个简易的神经深度网络模型。这个项目十分适合具有一定python编程基础,对人工智能、深度学习感兴趣的同学。Theano。

2401_86435672的博客 1235

IOS ViewControl无法释放(不走“-(void)dealloc”方法)&&ViewControl释放后内存值不下降

首先我们来讨论一下Viewcontrol无法释放的问题最近在项目运行时发现这个内存消耗不是一般的高这里内存较高也是有原因的,因为我这里展示了一张高度有两个屏幕高度的UIImageView。 好的吧,图片比较大内存消耗高一点我也就忍了,可是我现在的问题是,在我完全退出当前显示图片的ViewControl时,竟然不走- (void)dealloc - { - //// - }这下问题就大了,我都退出

KevinQueen的专栏 9809

解锁全志T113-i隐藏技能:用RISC-V核跑实时系统比STM32还稳?

本文深入探讨了全志T113-i SoC的异构架构潜力,重点解析如何利用其内置的玄铁C906 RISC-V核心独立运行实时系统。通过对比传统MCU与Linux方案,文章提供了从RISC-V核心启动、FreeRTOS移植到与Linux主核进行高效异构通信的完整实战指南,为工控等需要兼顾丰富应用与硬实时控制的场景提供了高集成度的单芯片解决方案。

ansible6ops的博客 494

手把手教你用Matlab/Simulink搭建PMSM的SMO无感FOC仿真(附相位补偿与离散化代码)

本文详细介绍了基于滑模观测器(SMO)的永磁同步电机(PMSM)无传感器FOC控制方法,通过Matlab/Simulink平台实现从理论到实践的完整流程。内容涵盖SMO核心原理、离散化处理、转子位置估算与相位补偿技术,以及双闭环控制系统搭建,为工程师提供了一套完整的无传感器控制解决方案。

weixin_27038245的博客 253

vue项目,iOS端 APP内,页面跳转到二级页面后,上一页内赋值的对象没有销毁的问题

iOS端 APP内,页面跳转到二级页面后,上一页内赋值的对象没有销毁的问题

guyue_01的博客 482

Code Composer Studio 8.3.1安装与常见问题解决指南

本文提供了Code Composer Studio 8.3.1版本的详细安装指南与常见问题解决方案。内容涵盖从下载离线安装包、系统环境准备、自定义安装步骤,到首次启动配置及汉化建议。重点解析了安装过程中可能遇到的闪退、卡顿、Java虚拟机错误等典型问题的排查与修复方法,旨在帮助开发者高效部署这一稳定的嵌入式集成开发环境。

weixin_29195217的博客 330

iOS 添加WKWebView导致控制器无法释放的问题

在WkWebView与JavaScript交互中,经常会在原生中注入MessageHandler,app中注入MessageHandler的方法 WKWebViewConfiguration *config = [[WKWebViewConfiguration alloc] init]; config.userContentController = [WKUserCont...

dianchidu6913的博客 1137

方差分解分析变量筛选与显著性计算

冗余分析(redundancy analysis,RDA)是一种回归分析结合主成分分析的排序方法,也是多响应变量(multiresponse)回归分析的拓展。在进行VPA时,首先就要对这些环境因子进行一个分类,然后在约束其它类环境因子的情况下,对某一类环境因子进行排序分析,这种分析也成为偏分析,即partialRDA。在地球环境科学的实际应用中,可以基于VPA结果得出不同类型的环境因素(如何气候、土壤性质以及植物)对生物群落组成(如植被丰度,微生物群落)的解释程度。对于由或创建的排序对象,函数。

wlh2067的博客 2519

浅析ArcGis中的软件——ArcMap、ArcScene、 ArcGlobe、ArcCatalog

ArcMap:是集空间数据显示、矢量数据编辑、冲突数据检查(拓扑检查)、查询检索(地理编码)、统计(字段属性表)、报表生成、空间分析(ArcGIS Spatial Analyst)和高级制图(制图表达)等众多功能干一体的桌面应用平台软件。而且提供所见即所得的符号编辑器,令用户可以随心所欲地生成任意复杂的点、线、面符号。所支持的空间数据格式包括Arclnfo coverages、ESRI shapefiles、ArcSDE lavers、DXF、DWG、DGN、常见的图像格式、GRIDs、TINs等。

lxlmycsdnfree的博客 6565

iOS中判定delegate是否已经被释放掉

在iOS的实际开发过程中,常常会遇到内存管理的问题。有一种特别常见的ne

manlxb的专栏 2504

保姆级教程:用MS建完分子模型,如何一键转成LAMMPS能用的data文件?

本文详细介绍了如何将Materials Studio(MS)构建的分子模型转换为LAMMPS可用的data文件的全流程。重点讲解了力场选择、环境配置、转换命令参数解析及常见问题排查,帮助初学者快速掌握MS与LAMMPS之间的数据转换技巧,特别适合计算材料学领域的研究人员。

weixin_42665255的博客 471

「iOS」————自动释放池底层原理

本篇结合RunLoop,介绍了自动释放池的底层原理。对其中的流程和方法进行了分析。

2301_80253909的博客 1706

富芮坤fr8008gp 240X280 lvgl项目启动

fr8008gp_240X280_lvgl项目启动

cheng___yi的博客 1758

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

ios中的静态变量被释放

static变量内存释放问题 static  ios   numbbuaa 2013年03月08日提问 · 2013年03月08日更新 关注 0 关注 收藏 0 收藏,8.1k 浏览 问题对人有帮助,内容完整,我也想知道答案 0 问题没有实际价值,缺少关键内容,没有改进余地 A.m中 声明一个

2107

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

运维系列&前端系列:ios 嵌套H5页面 input 光标跑偏的问题

ios 嵌套H5页面 input 光标跑偏的问题

weixin_54626591的博客 677

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

ios键盘收起页面空白问题

开发网页的时候遇到一个非常恶心的问题,ios中,一个页面有一系列input需要填写,假设有10个,点击后面几个,弹出键盘,一般会超出页面长度的。这个时候,如果收起键盘,页面不会回弹导致底部出现空白部分,这个时候,点击页面上的一些按钮会点击不中。 我这里的一个非常蠢的办法,就是判断当input失去焦点的时候,主动滚动 let u = window.navigator.userAgent; l...

暴躁兔子的记录 1913

ios键盘弹起 body的高度拉长,页面底部空白问题。ios软键盘将页面抵到上面后,关闭软键盘页面不回弹的问题。...

js 监听ios手机键盘弹起和收起的事件 /* js 监听ios手机键盘弹起和收起的事件 */ document.body.addEventListener('focusin', () => { //软键盘弹起事件 console.log("键盘弹起"); }); document.body.addEventListener('focusout', () =>...

weixin_30856725的博客 519

vue与ios交互返回页面异常,需要滑动才能正常得问题

问题描述:在ios内嵌入H5(使用vue-cli搭建得vue框架),在A页面滚动超过一屏后,进入B页面,然后使用this.$router.back(-1)方法返回,这时候A页面会出现白屏或者部分功能渲染不正常,需要点一下页面或者滑动一下页面才会正常。...

douyiqing的博客 1836

iOS 7 之 页面布局

iOS7是目前iOS史上最颠覆的一次改版。 它的出现令人兴奋,因为它将会带我们进入一个全新的时代; 它的到来也让我们忧心,因为它颠覆了一切,包括我们过去做过的很多努力。 但是,相信大家乐意为这个全新时代做更多的努力,因为,它值得期待。   最近打算写一系列针对iOS7新特性的文章,今天就从最基本和简单的页面布局开始吧。     从头说起 当我看

Nicholastas的专栏 695

iOS页面右滑返回交互实现方案

Category: iOS   Publish Date: 2013年4月30日   Comments: 9   Views: 1287 undefinedundefinedundefinedundefinedundefinedundefinedundefinedundefined 唠叨最近 好久没有写技术日志了,上一篇日志已经是1年前写的了。 不过,我也发现,几乎全部我认识搞技

code life 1万+

uniapp禁止页面下拉刷新(Android、IOS)

uniapp禁止页面下拉刷新(Android、IOS)

皮皮的博客 7925

iOS12适配及问题记录

iOS12适配及问题记录 版本信息 Xcode: Version 10.0 beta (10L176w) macOS: 10.14 Beta (18A293u) iOS: 12.0(16A5288q) 问题及解决过程 1,StatusBar内部结构改变 现象:crash crash log: 1,-[_UIStatusBarIde...

王学森的专栏 1万+

H5页面必会遇到的问题及解决办法

前言 在我们开发H5页面的时候必会遇到一些兼容性等爬过坑的问题,在这里我将这些问题汇总一下,自己也做一下笔记 问题: 1,ios滑动不流畅 2,ios上拉边界下拉出现白色空白 3,页面件放大或缩小不确定性行为 4,click点击穿透与延迟 5,软键盘弹出将页面顶起,收起未回落问题(导致整体页面上移) 6,iphonex 底部栏适配问题 7,保存页面为图片和二维码问题和解决方案 8,微信公众号H5分...

qq_43427385的博客 2756

ios原生入门之storyboard页面绘制

IOS使用storyboard绘制页面,使用block回传数据

流星雨的博客 3005
上一篇: IOS系列——导航条UINavigationController的简单功能
下一篇: IOS系列——UIScrollview的delegate里面的方法意义
Engandend
博客等级 码龄15年 18粉丝 59原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值