如何讓App保持在運作狀態
来源:互联网 发布:靠谱助手提示网络异常 编辑:程序博客网 时间:2024/05/19 00:17
转载自:http://fstoke.me/blog/?p=3135
怕自己又忘記找半天,這裡記一下… 很簡單,就一行code:
1.
[[UIApplication sharedApplication] setIdleTimerDisabled:YES];
可以把它寫在 application:didFinishLaunchingWithOptions: 裡面
這行code主要是把iPhone/iPad內部預設的idle計時關閉,不去計算目前App隔多久使用者沒有任何動作了而讓App進入睡眠(背景)模式
在老江的磁盘清理里有这么一句:
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
if (indexPath.row ==5 && !self.isCleaning) {
self.isCleaning =YES;
[[UIApplicationsharedApplication] setIdleTimerDisabled:YES];
dispatch_queue_t queue =dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT,0);
dispatch_async(queue, ^{
NSFileManager *fileManager = [NSFileManagerdefaultManager];
[fileManager removeItemAtPath:DIR_PATHerror:nil];
//创建目录
if (![fileManager fileExistsAtPath:DIR_PATH]) {
[fileManager createDirectoryAtPath:DIR_PATHwithIntermediateDirectories:YESattributes:nilerror:nil];
}
//第一步
for (int i =0; i < 1000; i++) {
long long freeSize = [selffreeDiskSpace];
long long fileSize =0;
if (freeSize > 2 * 1024 * MB)
fileSize = 2 * 1024 * MB;
else if(freeSize >1 * 1024 * MB)
fileSize = 1 * 1024 * MB;
else if(freeSize >512 * MB)
fileSize = 512 * MB;
else if(freeSize >256 * MB)
fileSize = 256 * MB;
else
break;
NSString *fPath = [DIR_PATHstringByAppendingFormat:@"fill_one_%d.txt", i];
[self createFile:fPathwith:fileSize];
}
//第二步
for (int i =0; i < 50; i++) {
long long freeSize = [selffreeDiskSpace];
if (freeSize > 0) {
NSString *fPath = [DIR_PATHstringByAppendingFormat:@"fill_two_%d.txt", i];
[self createFile:fPath with:freeSize];
}else{
sleep(1);
}
}
sleep(5);
//删除临时文件
[fileManager removeItemAtPath:DIR_PATHerror:nil];
//返回主线程
dispatch_async(dispatch_get_main_queue(), ^{
self.isCleaning =NO;
UIAlertView *alertView = [[[UIAlertViewalloc] initWithTitle:@"友情提示" message:@"清理完成" delegate:selfcancelButtonTitle:@"关闭" otherButtonTitles:nil] autorelease];
[alertView show];
[self.tableViewreloadData];
[[UIApplicationsharedApplication] setIdleTimerDisabled:NO];
});
});
}
[tableView deselectRowAtIndexPath:indexPathanimated:YES];
}
- 如何讓App保持在運作狀態
- 如何在分布式环境,保持session同步
- 让一个App永远保持在最上层
- 安卓 跳转到OtherActivity后,点击home返回桌面,如何打开应用并保持OtherActivity在顶层(和在桌面直接点击app效果一样)
- 请教~~~如何保持在两个数据库(sql server 2000)之间,保持事务的一致性
- 如何在APP内交易
- GridView 如何在翻页时保持CheckBox的选择
- 如何让在客户端改变的状态保持连续性
- 如何时刻保持在目标的正确轨道上
- Winform的Textbox滚动条如何保持在最后
- GridView 如何在翻页时保持CheckBox的选择
- IT人如何在快节奏下保持生活品味?
- 如何让一个窗体永远保持在最上层
- 如何使Winform的Textbox滚动条保持在最后
- 如何使窗体保持在最前 windows函数使用
- 如何使Winform的Textbox滚动条保持在最后
- flex4页面中如何保持选中titlewindow在最上层。
- 如何使Winform的Textbox滚动条保持在最后
- 使用SSH三大框架实现一个简单的学生管理系统的登录
- java数学函数(Math)
- *.Obj:error LNK2019: 无法解析的外部符号 (解决方法)
- 多线程问题,你搞得定吗?
- 高等教育自学考试《管理信息系统》大纲笔记
- 如何讓App保持在運作狀態
- 一些漂亮的Html格式
- 学习之道
- 面试题:计算0到n的数中有多少个2
- SharePoint designer 2013 打开工作流报错
- textview 添加超链接
- 树和二叉树
- Jeff Smith的SCADA系统信息安全
- SQLServer中,N''表示的意思?