亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在AppStore批準的應用程序中獲取有關空閑內存和運行進程的信息?(是的,有一個!)

如何在AppStore批準的應用程序中獲取有關空閑內存和運行進程的信息?(是的,有一個!)

九州編程 2019-07-22 19:57:39
如何在AppStore批準的應用程序中獲取有關空閑內存和運行進程的信息?(是的,有一個!)AppStore中有一個名為“ActivityMonitor Touch”的應用程序,它顯示后臺進程以及空閑內存。因此,必須有一個公共API來訪問這些信息。證據:我已經找了好幾天了,但找不到任何好的起點。這個應用程序怎么能在沒有任何越獄/黑客/等等的情況下把所有這些東西都找出來呢?直到最近,我才確信這樣的事情在iOS上是絕對不可能的。我發現這個代碼片段:- (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, NULL, 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, miblen, process, &size, NULL, 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因此,當然,我必須導入一個頭文件或庫。是否有人知道這些文件屬于哪里,以及如何導入標頭才能使其工作?
查看完整描述

2 回答

?
慕碼人8056858

TA貢獻1803條經驗 獲得超6個贊

就像一種魅力:

#import <sys/sysctl.h>


查看完整回答
反對 回復 2019-07-22
  • 2 回答
  • 0 關注
  • 628 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號