1、length、length()、size的优化

举例:

int array_one[] = {1,2,3,4,5,6,7,8,9,10};int array_two[] = {1,2,3,4,5,6,7,8,9,10,11..100};for(int i=0;i<array_one.length;i++){      for(int k=0;k<array_two.length;k++)        {            doSth();           }}

上述代码,系统需要对每次的for循环进行数组长度的计算,系统开销自然加大,我们可以这样:

int array_one[] = {1,2,3,4,5,6,7,8,9,10};int array_two[] = {1,2,3,4,5,6,7,8,9,10,11..100};int length_array_one = array_one.length;int length_array_two= array_two.length;for(int i=0;i<length_array_one;i++){      for(int k=0;k<length_array_two;k++)        {            doSth();           }}

同理在计算jsonArray或者其他数组的时候,就可以通过上述方式进行优化

2、for、while的优化

int array[] = {1,2,3,4..100};int length_array = array.length;for(int i=0;i<length_array;i++)//假设我们寻找array中元素等于20的元素{         if(i == 20)        {        doSth();        }}

如果你已经在循环中,完成了指定的业务,这个时候没有其他业务的话,还继续进行for循环,这样时间成本就增大了,我们可以这样优化:

int array[] = {1,2,3,4..100};int length_array = array.length;for(int i=0;i<length_array;i++)//假设我们寻找array中元素等于20的元素{         if(i == 20)        {        doSth();          break;        }}

在适当的时候从循环中跳出来。同理如果是while循环的话,就把while 的循环条件调整为false,然后退出来

3、变量生命周期的优化

int array[] = {1,2,3,4..100};int length_array = array.length;for(int i=0;i<length_array;i++){   String str[] = new string[1000];   doSth(str);   //str只是作为参数使用,不对其进行修改}

看上述代码,每次循环都有新建一个数组,系统的空间使用成本成本增加我们可以这样:

int array[] = {1,2,3,4..100};int length_array = array.length;String str[] = new string[1000];for(int i=0;i<length_array;i++){   doSth(str);   //str只是作为参数使用,不对其进行修改}

这样的调整,只需要新建一次,就有效的缩小了空间成本

4、频繁的操作数据库

现在有个需求是这样的:定时器每隔15秒,获取一次售罄id列表,通过id找到数据库中对应的名称,进而进行操作。
我之前的做法是在每次找名称的时候,打开数据库得到索引。

那么修改后:每次更改菜单时就记住索引,那么在获取名称时,只需要进行操作而不需要再进行数据库的频繁打开、关闭了

更多相关文章

  1. Android内存优化:用注解的方式替代枚举
  2. Android(安卓)sqlite3插入速度优化方案
  3. 通过signapk.jar 为Android(安卓)应用程序签名,并优化签名后的APK
  4. Android(安卓)adapter适配器的使用
  5. 【Android游戏开发十五】关于Android(安卓)游戏开发中 OnTouchEv
  6. apk、dex、odex梳理
  7. android 弹性ScrollView(已优化)
  8. laravel使用Dingo\Api通过response()->json()返回空对象
  9. 利用Hierarchy Viewer优化布局

随机推荐

  1. Android(安卓)-List和ArrayList(),发现你
  2. Setup Android(安卓)Studio
  3. 展讯android LEDS模块分析----各种关系
  4. Android(安卓)Studio 4.0 新功能之 Layou
  5. Android半透明提示效果的实现
  6. SurfaceTexture,TextureView,GLsurfaceview
  7. android:scrollbarStyle
  8. 2018-08-02 Android中实现阴影和图片圆角
  9. Android(安卓)Activity 的四种启动模式
  10. EditText软键盘弹出相关问题