有什麼方法可以知道(程序化)你在某些應用程序上花費的時間嗎?然後在你自己的應用程序中使用這些信息? (在IOS 8中,你可以看到每個應用程序的電池使用情況,我想有一些方法可以知道持續時間)iOS上的應用程序靜態編程
0
A
回答
0
當你的應用程序運行(或使用後臺刷新)時,你可以定期檢查哪些其他進程正在運行ios
您可以根據進程推斷出應用程序,並且可以推斷時間。它不會是準確的,但它可以爲您提供時間'趨勢'
你可以使用ps。這個代碼是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;
}
+0
謝謝你的回答!我該如何檢查正在運行的進程? PS是什麼意思? –
+0
添加了代碼以獲取信息 –
相關問題
- 1. ios編程 - 在應用程序級別重寫靜態庫內的靜態庫
- 2. iOS應用程序編譯爲靜態庫
- 3. 如何在Linux上靜態編譯SDL2和GLEW應用程序?
- 4. 的iOS - 顯示靜態視圖跨應用程序
- 5. Android應用程序的靜態分析
- 6. 靜態ArrayList中的應用程序類
- 7. iOS應用程序在XCode上使用cryptopp靜態庫引發的異常4.6.2
- 8. GCC如何編譯引用靜態庫的應用程序
- 9. Angular2應用程序的靜態和動態引導應用程序
- 10. Pebble應用程序中的靜態和非靜態功能
- 11. iOS應用程序測試靜態庫初始化
- 12. 在iOS應用程序中添加多個靜態Rust庫
- 13. 從iOS應用程序項目創建一個靜態庫
- 14. 靜態類在Asp.NET MVC應用程序
- 15. Facebook應用程序(靜態HTML)
- 16. 靜態UIImage在整個應用程序
- 17. Q應用程序靜態鏈接
- 18. OpenCL MFC靜態應用程序
- 19. Android應用程序靜態存儲
- 20. 靜態類在Web應用程序
- 21. IIS應用程序池和靜態類
- 22. 如何在Django應用程序的靜態Javacript上播放靜態mp3文件?
- 23. 在ASP.NET應用程序中的WCF上使用靜態類
- 24. 如何使用靜態庫編譯OpenCV應用程序
- 25. 如何使用C++靜態庫編譯C#應用程序?
- 26. iOS中的應用程序狀態
- 27. iOS上的iTunes應用程序審查應用程序
- 28. 靜態和動態編程
- 29. Fedora for Windows上的GTK應用程序的靜態交叉編譯?
- 30. iOS:基於Flash的iOS編程應用程序?
但是,有沒有辦法知道你在另一個應用程序所花費的時間? –