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进行操作。

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

  • 相关阅读:
    PostgreSQL杂记页
    程序员给女朋友周年纪念的浪漫
    实现乐鑫esp8266的无线OTA升级,实现远程在线升级固件
    XAOP的使用示范例子
    XPage的使用示范例子
    Python手势识别与控制
    Python人体肤色检测
    基于Opencv自带BP网络的车标简易识别
    iOS 自定义转场动画
    Python实时语音识别控制
  • 原文地址:https://www.cnblogs.com/dokaygang128/p/3497428.html
Copyright © 2011-2022 走看看