一个for循环的效率

之前和一个老程序员聊天。有些杂七杂八的新的

android部分:

activity尽量少用,多去创建fragment或者自定义widget。activity之间类似进程之间的通信,尤其是activity很多的时候,activity栈就会释放最底层的activity,如果程序健壮性不够,返回到之前的activity就会崩溃。


从上个话题引出。如果全用widget的放入到activity的话,就会引起内存突然增多,在移动端是致命的,很多时候会直接crash。解决方案1,苦逼的方法,自己在代码里面一个一个new出来新对象,这样内存慢慢增多,解决方案2,多利用fragment


再从上个话题引出。既然多利用fragment,就要尽量使得fragment变得比较纯粹,当然也有很多人喜欢将各种逻辑放入到fragment中,这样做使得fragment很庞大,需要activity给与很多支持。最好的思路是:将fragment看成某个控件。activity是处理fragment的逻辑区。遵循规则:MVC

例如:fragment有个listview需要访问网络数据。1.fragment自己访问网络数据,放入listview,2.listview其他方法扔给activity。这个时候是将fragment看成有数据的一个界面。


编程通用部分:

for循环

效率最慢的是for(i=0;i<xx.size();i++){};原因 1:i++某次都会创建一个临时对象,用这个临时对象去处理逻辑内容.2:i<xx.size()原因下面说

for(i=0;i>0;i--){} 这个方法比上面方法高明的地方在于i>0,因为0是计算机寄存器的某个标示位,可以直接判断,不用像上面那个取个size,再来判断

for(i=0;i<xx.size();++i){} 这个是避免了生成临时对象。直接用i本身去计算逻辑代码。比以上两种效率都会高一些。

自然延伸出来第四种: 

for(i=0;i>0;--i){}这个循环还没有自己测试。预估性格会更好些。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值