iphone – 如何获得有关免费记忆和运行流程在App Store批准的应用程序的信息? (是的,有一个!)

iphone – 如何获得有关免费记忆和运行流程在App Store批准的应用程序的信息? (是的,有一个!),第1张

概述在App Store中有一个名为“Activity Monitor Touch”的应用程序,它显示后台进程和可用内存。 因此,必须有一个公共API来访问此信息。证据: 我已经在搜索天,但找不到任何好的起点。这个应用程序如何能够显示所有这些东西,没有任何越狱/黑客/等? 直到最近,我确信这样的东西在iOS上是绝对不可能的。 我有found这段代码: - (NSArray *)runningProce 在App Store中有一个名为“Activity Monitor touch”的应用程序,它显示后台进程和可用内存。

因此,必须有一个公共API来访问此信息。证据:

我已经在搜索天,但找不到任何好的起点。这个应用程序如何能够显示所有这些东西,没有任何越狱/黑客/等?

直到最近,我确信这样的东西在iOS上是绝对不可能的。

我有found这段代码:

- (NSArray *)runningProcesses {    int mib[4] = {CTL_KERN,KERN_PROC,KERN_PROC_ALL,0};    size_t miblen = 4;    size_t size;    int st = sysctl(mib,miblen,NulL,&size,0);    struct kinfo_proc * process = NulL;    struct kinfo_proc * newprocess = NulL;    do {        size += size / 10;        newprocess = realloc(process,size);        if (!newprocess){            if (process){                free(process);            }            return nil;        }        process = newprocess;        st = sysctl(mib,process,0);    } while (st == -1 && errno == ENOMEM);    if (st == 0){        if (size % sizeof(struct kinfo_proc) == 0){            int nprocess = size / sizeof(struct kinfo_proc);            if (nprocess){                NSMutableArray * array = [[NSMutableArray alloc] init];                for (int i = nprocess - 1; i >= 0; i--){                    Nsstring * processID = [[Nsstring alloc] initWithFormat:@"%d",process[i].kp_proc.p_pID];                    Nsstring * processname = [[Nsstring alloc] initWithFormat:@"%s",process[i].kp_proc.p_comm];                    NSDictionary * dict = [[NSDictionary alloc] initWithObjects:[NSArray arrayWithObjects:processID,processname,nil]                                                                         forKeys:[NSArray arrayWithObjects:@"ProcessID",@"Processname",nil]];                    [processID release];                    [processname release];                    [array addobject:dict];                    [dict release];                }                free(process);                return [array autorelease];            }        }    }    return nil;}

但我不能让它运行在iPhone上。 Xcode不知道这些符号:
CTL_KERN,KERN_PROC,KERN_PROC_ALL

所以当然我必须导入头文件或库。有谁知道这些属于哪里,以及如何导入标题以使这项工作?

解决方法 奇迹般有效:

#import <sys/sysctl.h>
总结

以上是内存溢出为你收集整理的iphone – 如何获得有关免费记忆和运行流程在App Store批准的应用程序的信息? (是的,有一个!)全部内容,希望文章能够帮你解决iphone – 如何获得有关免费记忆和运行流程在App Store批准的应用程序的信息? (是的,有一个!)所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1087815.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-27
下一篇 2022-05-27

发表评论

登录后才能评论

评论列表(0条)

保存