![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Android
UpUper2019
这个作者很懒,什么都没留下…
展开
-
Android单元测试的权限问题
最近在写测试,需要向sdcard里写文件,但是要读取时需要存储权限,可以通过添加依赖androidTestImplementation 'com.android.support.test:rules:1.0.2'测试类中添加@Rulepublic GrantPermissionRule mRuntimePermissionRule = GrantPermissionRule.grant(Manifest.permission.READ_EXTERNAL_STORAGE);差不多就行了,原创 2020-05-26 18:34:08 · 1796 阅读 · 0 评论 -
Android单元测试——Junit+Mock
首先是单元测试很重要!很重要!很重要!目前主流的是Junit4 来进行Java的单元测试首先需要导入的包有import org.junit.Test; import static org.junit.Assert.*;//引入断言不同于Junit3,测试类不需要再继承TestCase类,可以直接声明,此外,测试方法也不需要再以test开头,但是为了方便使用,最好以te...原创 2020-04-01 15:12:46 · 943 阅读 · 0 评论 -
Android之Binder学习
whatbinder是用来做进程通信的。why现有的linux通信手段都有一定的缺陷,而binder相对于它们来说有一定的优点。高性能:进需要进行一次数据拷贝,性能仅低于不需要内存拷贝的共享内存。稳定性:binder基于C/S架构,不需要考虑共享内存的同步问题。安全性:android系统为每个应用分配了UID作为鉴别进程的重要标志,IPC只能由用户在数据包里填写UID/PID,...原创 2020-01-03 17:06:02 · 140 阅读 · 0 评论 -
Android通过GPU绘制UI的简单了解
Android绘制UI有两种绘制模型:一是软件绘制模型;二是硬件加速绘制模型。软件绘制模型由CPU主导的,主要有两个步骤让视图结构(view hierarchy)失效绘制整个视图结构。具体来说当应用程序需要更新它的部分UI时,都会调用内容发生改变的View对象的invalidate()方法。无效(invalidation)消息请求会在View对象层次结构中传递,以便...原创 2020-01-03 16:59:25 · 1471 阅读 · 0 评论 -
Android之Intent学习
intent的作用android中采用了intent机制来进行应用间的交互与通信,同时,也可以进行程序内部activity, service和broadcast receive之间的交互(Content Provider本身就是一种通信机制,不需要再使用intent来进行通信)。intent采用的是运行时绑定机制,在运行过程中连接两个不同的组件,应用程序通过intent向android发出某...原创 2020-01-03 16:58:37 · 104 阅读 · 0 评论 -
Java之RTTI和泛型学习
RTTI——运行时类型一个类的运行时的类型信息是通过class类的对象来表示的,Java利用Class对象来执行RTTI。每一个类都有一个Class对象,每当编写一个类时,都会产生一个Class对象,当JVM加载该类时这个对象就产生了。如何获取Class对象通过Class类的静态方法forName来获取Class对象,具体形式如下:Class class = Class.forN...原创 2020-01-03 16:51:58 · 156 阅读 · 0 评论 -
ExecutorService
关于ExecutorService的介绍可以参考https://blog.csdn.net/suifeng3051/article/details/49443835简单来说这个类可以提供线程来做一些工作,可以说是对thread做了封装管理吧。。。用起来还是挺方便的。。。创建线程池的方法该类为工厂类,通过调用不同的create函数来创建不同类型的线程池,如下是提供的几种类...原创 2020-01-03 15:48:48 · 66 阅读 · 0 评论 -
Android之Activity学习
标准模式 启动一个activity时,在当前的任务栈中添加一个实例置于栈顶栈顶复用 如果新建的Activity位于任务栈的顶端,则直接冲用处于栈顶的实例栈内复用 查看Activity想要的任务栈是否存在,如果不存在,则重建一个新的任务栈,然后将该实例放置在栈顶 如果存在,看其是否在栈内,若在栈内,则将其之上的所有实例全部出栈,等效将其置于...原创 2019-08-08 21:29:14 · 128 阅读 · 0 评论