- 博客(1)
- 资源 (1)
- 收藏
- 关注
原创 Process 缓存区死锁
在开发的过程中,有时候会使用JAVA Runtime.exec() 方式运行某条命令或脚本,而在很大的情况下会出现 Process 缓存区死锁,为什么会出现死锁。JDK 开发文档说得很清楚:有些本机平台仅针对标准输入和输出流提供有限的缓冲区大小,如果读写子进程的输出流或输入流迅速出现失败,则可能导致子进程阻塞,甚至产生死锁。 明白产生死锁的原因后,就要如何快速清除缓存,我们一般的做法是
2014-12-15 20:57:54 1393
SelectActivity-过滤startActivity请求
原理:
context.startActivity跳转间接使用Instrumentation对象execStartActivity方法,而Instrumentation存在于ActivityThread中,有趣的是在应用启动后,有且只有一个ActivityThread对象,那么Instrumentation也只有一个,也就是说不管哪个Context使用startActivity方法都是间接使用同一个Instrumentation对象。既然要过滤startActivity请求,那么可以通过替换原来的Instrumentation来达到我们的目的。这里使用代理模式,在做具体实现之前,先执行我们设定的动作(过滤)。
注:如果使用JDK自带的代理处理模块,在Android上不能运行,因为Android使用的Dalvik字节码,而不是java字节码,需要使用第三方库dexmaker。
2014-04-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人