在优化ANDROID内存时,我们可能需要打印相关日志,为了让日志更清楚的显示,所以我们需要调用系统栈来打印相关栈输出才是,这样就能很好的去扑捉相关调用时,系统输出的相关日志来进行检测才是,如下代码可以简单实现:
- java.util.Map<Thread, StackTraceElement[]> ts = Thread.getAllStackTraces();
- StackTraceElement[] ste = ts.get(Thread.currentThread());
- for (StackTraceElement s : ste) {
- android.util.Slog.e("SS ", s.toString()); //这个是android自带的,如果没有,用其他的打印函数一样
- }
为了打印出在android启动时,Zygote启动的所有java应用。在
- //frameworks/base/services/java/com/android/server/am/ActivityManagerService.java
- private final void startProcessLocked(ProcessRecord app,
- String hostingType, String hostingNameStr) {
- //debug add
- java.util.Map<Thread, StackTraceElement[]> ts = Thread.getAllStackTraces();
- StackTraceElement[] ste = ts.get(Thread.currentThread());
- for (StackTraceElement s : ste) {
- android.util.Slog.e("SS ", s.toString());
- }
- }
关于DLNA的实现使用的相关LIB: cling-core.jar与teleal-comm.jar与相关FAQ和SAMPLE可在如下URL来进行查看
http://4thline.org/projects/cling/core/xref/index.html =》 api
http://4thline.org/projects/cling/roadmap.html => index
DEIL => multithread = > for > http://www.insaneprogramming.be/?p=308