zoukankan      html  css  js  c++  java
  • ios 多任务学习笔记

    一、检测多任务是否支持:

    - (BOOL) isMultitaskingSupported{
    BOOL result = NO;
    if ([[UIDevice currentDevice]
    respondsToSelector:@selector(isMultitaskingSupported)]){
    result = [[UIDevice currentDevice] isMultitaskingSupported];
    }
    return result;
    }

    多任务需要硬件支持,所以有些旧设备就算是升级到最新的操作系统后仍然是不能使用多任务的。

    二、当应用程序后台时可以向系统“借”时间来继续完成任务:

    使用UIApplication的beginBackgroundTaskWithExpirationHandler: 实例方法。在完成任务后,调用UIApplication的endBackgroundTask:方法。具体可以借多长时间可以通过调用backgroundTimeRemaining获知。超过可借时间后应用程序会被系统干掉。注意后台任务完成后一定要调用endBackgroundTask方法关闭后台任务,不然时间一到还是会被干掉。

    三、支持多任务的APP:

    第一次运行时:

    1. application:didFinishLaunchingWithOptions:
    2. applicationDidBecomeActive:

    按下Home键时:

    1. applicationWillResignActive:
    2. applicationDidEnterBackground:

    再次回到前台时:

    1. applicationWillEnterForeground:
    2. applicationDidBecomeActive:

    在这些回调函数中可以监听各种系统通知来对APP进行操作。

    当后台处理网络请求时注意要使用后台异步线程,当从后台恢复时系统会自己恢复到后台时的暂停状态。

  • 相关阅读:
    work_7_Boolean和boolean,基本类型和包装类型
    work_06_服务器上传图片错误
    work_05_64未随机id生成器
    work_04_谷歌验证码工具Kaptcha
    vue.js_13_vue的搭建
    每日一java(割草机)
    work_03_常见jq问题处理
    work_02_css样式
    java 27
    java 27
  • 原文地址:https://www.cnblogs.com/dokaygang128/p/3497428.html
Copyright © 2011-2022 走看看