我在Android开发中遇到的一些问题

原创 2016年06月01日 09:55:09

转载请注明来源:http://blog.csdn.net/kjunchen/article/details/51553707

自己在开发中遇到的一些常见的小问题,记录下来方便查。

1、关于List.remove()与List.subList()

1/20/2016 3:15:20 PM

最近在项目中发现,当非常频繁地调用List.subList()时,就会产生java.lang.StackOverflowError(栈溢出)异常,想了好长时间都没有解决,不用吗又不行,需求所致,最后就像,既然截取不行那就删嘛,因此我就使用remove()方法试了试,结果问题就这么给解决了,真的是fun,困扰了我好长时间。

当List中的数据很简单时,remove()比subList()快,而在我的项目中,由于List中的数据稍复杂点,量又比较大,测得remove()比subList()慢。

现在假设List中有20个数据,需要去掉前面10个数据而保留11~20的数据,采用如下两种方式,最后所得的结果都是一样的。

int subLength = 10;//Remove the first 10
//One
mList = mList.subList((mList.size() - subLength), mList.size());

//Two
for (int i = (subLength - 1); i >= 0; i--) {
    mList.remove(i);
}

如果你有遇到这样的问题,可以尝试下看能否解决问题,如有更好的方式解决,请给我留言或Email: junkchen@vip.qq.com


2、关于setResult()调用问题

调用setResult()必须在finish()之前,在onPause()、onStop()、onDestroy()中调用无作用。


3、字符串 == “” 和 字符串 == “ ”区别

如果一个字符串的内容为空,那么该字符串 == “” 则为true,而该字符串 == “ ”则为false,有一个空格则证明不是空的,所以在对字符串进行空内容判断时一定要注意,判断字符串是否为空也可直接调用 String.isEmpty() 方法。使用等号进行判断是容易出问题的,建议调用方法判断。


欢迎加QQ群交流: 365532949
Homepage: http://junkchen.com

版权声明:本文为博主原创文章,未经博主允许不得转载。

ubuntu配置android开发环境和编译源码遇到的一些问题

---------------------------------------------环境变量设置--------------------------------------------- 1....
  • ameyume
  • ameyume
  • 2013年11月07日 15:33
  • 14774

android开发中遇到的一些问题及解决方案

相信大家在打包也遇到过这样的问题把,打包失败。以下是昨天我昨天开发时遇到的一些问题,经过查找资料,顺利解决。不过多赘述,问题如下:问题一:Messages报错如下:Errors while build...

android开发过程中遇到的一些问题(包括自定义ProgressBar, Intent, Animation, ListView, RadioButton)

问题如下: 1.在自定义的ListView中,在一个Item中同时添加图片、文字、单选按钮时很困难。 最简单的解决办法(网上摘录): 把单选按钮用图片表示即可,然后使用SimpleAdapter...

android开发环境遇到的一些问题

android adt环境和android工程遇到的几个问题,缺少android-support-v4.jar包、不生成BuildConfig.java和R.java、手机不连接电脑、jdk版本...

android开发中调用系统自带的文件选择器遇到的一些问题

1.调用系统的文件浏览器然后进入文件管理器选择文本文件后,直接回到文件浏览器页面造成文本文件无法选择 开始时候只用的方法: Intent intent = new Intent(Intent.ACT...

探讨Android开发ListView的Item里包含EditText控件遇到的一些问题

相信很多程序猿用到ListView都会遇到很多的问题,这里我们就讨论下ListView每个条目包含有EditText时遇到的问题。 主要有: 1,点击编辑框时,焦点看不到,即失去焦点,或不弹出软键...

android开发中genymotion安装过程详解(包括安装过程中一些问题的解决方法)

一、genymotion的简介 Genymotion是一套完整的工具,它提供了Android虚拟环境。如果你没有物理机器,又不想忍受官方模拟器的折磨,Genymotion会是你非常不错的选择, 它简...

Android开发环境搭建中一些问题的解决方案

学习android开发已经有一段时间了,这个过程中除了程序设计以外自己搭建平台,帮助周围的人搭建平台都曾经遇到过各种各样的问题。现在写一篇文章大概的总结一下自己的经验。 首先简述一下android开...

android开发中使用高德地图出现的一些问题

作为一名android开发者,地图这一块应该很多人都有碰过,我这里也简述一些自己使用碰到的一些问题(主要是高德地图 不是很喜欢百度地图) 1.在使用高德地图的过程中,是要先申请key的 对应一个ap...

android开发之webview开发中的一些问题总结。

随着HTML5的普及,Hybrid app的概念也越来越火,最近做的项目中直接跳转到webview的场景越来越多了,但是也出现好多问题,这里总结一下我开发过程中遇到的问题。 1.url重定向导致页...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:我在Android开发中遇到的一些问题
举报原因:
原因补充:

(最多只允许输入30个字)