每日一问
街道口afs
这个作者很懒,什么都没留下…
展开
-
小问题汇总1-5
1.动态代理可以用来干什么? 可以干预接口的执行方式,能够在调用时刻对方法的参数修改(运行前),或者修改方法的执行过程(运行时)。 举个例子,在一次网络请求中,有一个方法中有一个回调接口,网络访问的结果都会在这个接口中传递出去,网络访问是耗时任务得开新线程,所以接口也在新线程中运行。可以通过代理,使接口在执行的时候发生在主线程,然后访问方法的参数。这样通过代理省略了线程切换功能。 ...原创 2020-04-14 16:45:16 · 103 阅读 · 0 评论 -
android截图脚本
因为需要写操作手册,需要使用大量的app截图,但是也没有效果图可以直接使用的,如果直接用adb截图然后再导入到电脑,需要敲大量的命令,感觉很繁琐,就写了一个bat脚本,方便截图。 脚本有三个部分,1.setting.txt,配置文件。2. capScreen.bat, 3.changName.jar setting.txt中是一串json文件, {"waitModfyName":"C:\\...原创 2019-11-17 18:46:22 · 319 阅读 · 0 评论 -
为什么Android驱动程序不开源?
Android的底层采用的是linux kernel, linux kernel采用的是GPL(通用公共许可证)。 采用GPL许可证的软件是开源的,简单讲这样的程序需要公开源码,任何人都能获得能够进行下载,修改源码,但是修改后的程序也必须采用GPL许可证,就是说不能进行私有化。 linux kernel驱动程序是GPL许可证,如果google直接使用linux kernel的话,手机厂商的驱动...原创 2020-03-18 13:43:44 · 1162 阅读 · 0 评论 -
为什么不推荐使用Executors?
为什么不推荐使用Executors提供的生成线程池的方法呢? 主要是因为这些线程池都存在内存溢出的可能。其实就是构建线程池的几个参数设置的不好,具体分析如下 Executors生成线程池的方法都是调用的ThreadPoolExecutor的构造方法,只不过提供了一些默认的参数,让我们使用起来更加方便。 public ThreadPoolExecutor(int corePoolSize, ...原创 2019-11-18 23:41:57 · 1622 阅读 · 0 评论