关于static的问题

来源:3-9 初次体验MVP模式开发

慕妹2978617

2017-11-16

http://img.mukewang.com/szimg/5a0d4a720001e58412680518.jpg

http://img.mukewang.com/szimg/5a0d4a720001933412980527.jpg

想请教老师一下,在项目中您多次在方法和常量中使用static,我拿出了使用比较多的两处,关于static属于java基础知识,使用和特点我基本自己了解,但是在实际开发中我还是有很多的不明白。例如在Appliction中这些方法中使用static还是能比较接受的,因为考虑到在应用使用中可能多次使用,这么static修饰的内容可以放在内存中,但是关于申请权限,我们在进入App的入口中就调用,只是用一次并且全都是用private修饰,我们使用static即不是为了给其他类方便调用,也不需要他一直存在内存中,并且只给本类使用,那么:

  1. 为什么还要用static修饰?

  2. 并且haveXXXPerms()用staticrequestPerm()方法却没有使用这是为啥等不用可不可以,这样会增加内存的负担吗,好处在哪里?

  3. 希望老师能帮我简单解释下。

写回答

1回答

Qiujuer

2018-03-13

首先在Appliction中你的理解是正确的,没有什么问题,目的是为了全局使用方便。而你的疑惑在于权限的相关方法为啥使用static是吧?

关于这个其实没有你想的那么复杂,你仔细看权限的方法的内部判断,虽然使用来说只在Launch界面使用,但是其实方法内部并没有做有关太多内存的操作,基本上都是逻辑判断的操作;所以不存在你说的内存被占用的情况。

就算是权限页面打开了,你可以发现权限页面的Fragment并没有被static修饰保存下来,所以也不存在内存回收的问题的哈。


不知道我这边解释的是否清楚;你可以在课程群里问我哈。


非常抱歉才回复,抱歉。



0
0

手把手开发完整的即时通讯App 客户端+服务端+MVP架构

客户端+服务端+MVP架构+封装思想+主流框架

1737 学习 · 868 问题

查看课程