作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
随着我的应用程序的成熟,我发现自己发现线程的用途越来越多。到现在为止,我必须有大约 25 个线程,所有线程都在做重要的事情并在 symphony 中一起工作。
但是我注意到我的应用程序驻留了大约 15.5MB。与浏览器(+/-35MB)相比,我感觉很安全,但我确实注意到我的应用程序的常驻大小不断增加。
问题是,添加一个线程涉及多少开销?
我还想知道 synchronized
关键字是否会随着每个新线程的出现而遇到越来越多的延迟?
谢谢!
最佳答案
从某种角度来看,一个新启动的浏览器应用程序大约有 20 个线程在运行。拥有 25 个线程并非完全不合理。这实际上取决于您使用它们做什么。
app_1 17309 67 182452 27944 ffffffff 00000000 S com.android.browser
app_1 17310 17309 182452 27944 ffffffff 00000000 S HeapWorker
app_1 17311 17309 182452 27944 ffffffff 00000000 S Signal Catcher
app_1 17312 17309 182452 27944 ffffffff 00000000 S JDWP
app_1 17313 17309 182452 27944 ffffffff 00000000 S Compiler
app_1 17314 17309 182452 27944 ffffffff 00000000 S Binder Thread #
app_1 17315 17309 182452 27944 ffffffff 00000000 S Binder Thread #
app_1 17317 17309 182452 27944 ffffffff 00000000 S CookieSyncManag
app_1 17319 17309 182452 27944 ffffffff 00000000 S WebViewCoreThre
app_1 17321 17309 182452 27944 ffffffff 00000000 S AsyncTask #1
app_1 17322 17309 182452 27944 ffffffff 00000000 S AsyncTask #2
app_1 17323 17309 182452 27944 ffffffff 00000000 S WebViewCoreThre
app_1 17324 17309 182452 27944 ffffffff 00000000 S http0
app_1 17325 17309 182452 27944 ffffffff 00000000 S http1
app_1 17326 17309 182452 27944 ffffffff 00000000 S http2
app_1 17327 17309 182452 27944 ffffffff 00000000 S http3
app_1 17328 17309 182452 27944 ffffffff 00000000 S WebViewWorkerTh
app_1 17329 17309 182452 27944 ffffffff 00000000 S AsyncTask #3
app_1 17330 17309 182452 27944 ffffffff 00000000 S AsyncTask #4
app_1 17332 17309 182452 27944 ffffffff 00000000 S AsyncTask #5
关于java - 线程会给应用程序增加很多开销吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3398988/
我是一名优秀的程序员,十分优秀!