内存紧张以及程序进入后台

    xiaoxiao2021-03-25  103

    - (void)applicationDidReceiveMemoryWarning:(UIApplication *)application

    {

        SDWebImageManager *mgr = [SDWebImageManager sharedManager];

        //1.取消下载

        [mgr cancelAll];

        //2.清除缓存

        [mgr.imageCache clearMemory];

        

    }

    - (void)applicationDidEnterBackground:(UIApplication *)application {

        //方法一

        __block UIBackgroundTaskIdentifier task = [application beginBackgroundTaskWithExpirationHandler:^{

            //申请的运行时间结束就会调用这个block

            [application endBackgroundTask:task];

        }];

        //方法二

        /**

         *  app的状态

         *  1.死亡状态:没有打开app

         *  2.前台运行状态

         *  3.后台暂停状态:停止一切动画、定时器、多媒体、联网操作,很难再作其他操作

         *  4.后台运行状态

         */

        // 向操作系统申请后台运行的资格,能维持多久,是不确定的

        //    self.task = [application beginBackgroundTaskWithExpirationHandler:^{

        //        // 当申请的后台运行时间已经结束(过期),就会调用这个block

        //

        //        // 赶紧结束任务

        //        [application endBackgroundTask:self.task];

        //    }];

        /**

         1.定义变量UIBackgroundTaskIdentifier task

         2.执行右边的代码

         [application beginBackgroundTaskWithExpirationHandler:^{

         // 当申请的后台运行时间已经结束(过期),就会调用这个block

         

         // 赶紧结束任务

         [application endBackgroundTask:task];

         }];

         3.将右边方法的返回值赋值给task

         */

        //方法三

        

        // Info.plst中设置后台模式:Required background modes == App plays audio or streams audio/video using AirPlay

        // 搞一个0kbMP3文件,没有声音

        // 循环播放

        

        // 以前的后台模式只有3

        // 保持网络连接

        // 多媒体应用

        // VOIP:网络电话

        

    转载请注明原文地址: https://ju.6miu.com/read-19724.html

    最新回复(0)