Android常见错误处理(二)

考试月非常忙,终于考完试可以继续写代码学习了……还望各位小伙伴多多指教哈~

一、java.lang.OutOfMemoryError

  1. 对于JAVA来说,虚拟机上用于显示图片的堆只有64MB,在安卓里,每一个应用大约只有16MB的内存(参考training/displaying-bitmaps里)。也就是说,一旦我们使用类似于Bitmap这样的类去加载一张图片,很有可能就会把这64MB的堆给占满了。此外,如果对象还存在一个引用,这个对象仍然会存在于堆中,JAVA的垃圾回收机制是不会处理他们的。在这种情况下,你需要用一些工具去评估你的项目必须使用的图片到底需要多大的堆空间(静态),然后去修改这个堆的大小,让它能够容纳你需要的图片。
  2. 不要使用类似于recycle()这样的方法,如1所说,这样的方法并不能改变这样的的错误(引用还在)
  3. 代码里可能有死循环,重复地创建对象实体
  4. 在能使用低像素图片时优先使用低像素照片,而且避免优先选择加载高像素图片(高像素图片占用内存显著多于低像素图片)

二、图片无法充满ImageView

这个解决办法其实蛮简单的,使用ImageView的setScaleType()方法,参数选择fitXY.。如果觉得这样会使图片变形,就是用centerCrop参数

三、RuntimeError:You cannot combine custom titles with other title features

这个错误是说,你不能混合使用多个标题风格,解决方法有下面几种:

  1. 所有标题风格的设置都在AndroidManifest上用android:theme=""设置,至于标题的风格就自己用XML实现好呗
  2. 在styles.xml里加入<item name="android:windowActionBar">false</item>,因为很多自定义标题栏的教程里面,都会有一个设置theme的语句是使用了windowActionBar的,通过把这个改为false就可以避免这样的冲突
  3. 在activity里已经设置了title的theme了,结果在tab里面又设置了其他的theme(例如ViewPager)
  4. 当项目中导入了多个包,可能包之间的AndroidManifest里对theme的设置是不一样的,这样也会导致这个错误

四、Jar mismatch! Fix your depedencies

这个错误多数出现在一个项目中导入了多个包时,主要原因是,可能不同的包使用的jar是不一样的。拿我来说:

我当时使用的library1、library2和项目本身的android-support-v4.jar,就出现了这个错误,说我有3个包,无法识别该用哪一个。解决办法就是把这三个包的这个jar都统一了,所以网上有这样的做法:

把library的jar都换成项目的jar,然后就好了。但是我觉得在StackOverflow上看到的另一个方法更好:

首先对你的项目使用Android Tools里的Add Support  Library,然后把所有的android-support-v4.jar都去掉,每一个项目或者Library都在build path menu里add external jar或者在Project Properties->Android->Library->Add...里添加jar,这样就能保证包的统一了

五、ClassNotFoundException

这个错误可能是因为包没导入完全,可能是因为AndroidManifest上没写好要启动的类的名字

时间: 2024-11-10 13:28:00

Android常见错误处理(二)的相关文章

android 常见错误集锦

1.用Eclipse安装APP程序时,报Installation error: INSTALL_FAILED_INSUFFICIENT_STORAGE错误,也就是说内存不够用引起的,解决办法有如下两种: a.把手机内的没用安装包清掉一些,或者卸载一些没用的APP,腾出足够的内存,然后在进行安装: b.直接在AndroidMainfest.xml文件里配置,即<manifest xmlns:android="http://schemas.android.com/apk/res/android

Android常见错误

导入工程错误: 1.问题:invalid project description 解决:选中导入工程的对话框的Copy projects into workspace复选框 编译错误: 1.问题:layout/xml报错incorrect line ending found carriage return without corresponding newline 解决:Ctrl+1或者format该文件 2.问题:No enclosing instance of type EpisodeLis

android常见错误之 No resource found that matches the given name

今天在做一个程序时觉得TextView的背景色不好看,就想在xml文件中改变TextView的背景色.因为本人在 /res/values下放了一个colors.xml文件, 因此在xml文件中使用android:background="@colors/lightyellow"以图将TextView控件的背景色设置为亮黄色.结果出错:No resource found that matches the given name (at 'background' with value '@co

Android 常见错误和技巧

1.无法使用网络 :Permission denied(maybe missing internet permission) 答:在AndroidMainifest.xml中增加允许使用网络选项(结束标签之后>): Java代码: uses-permission android:name="android.permission.INTERNET" /> 复制代码 2.找不到activity类: android.content.ActivityNotFoundExceptio

android常见错误-E/AndroidRuntime(13678): java.lang.NoClassDefFoundError:

08-01 11:09:39.791: E/AndroidRuntime(13678): FATAL EXCEPTION: main 08-01 11:09:39.791: E/AndroidRuntime(13678): java.lang.NoClassDefFoundError: org.androidpn.client.PersistentConnectionListener 出现上述调试信息,并且真机上出现错误. 原因:代码依赖于其他库,要在具体project上右键属性,在java b

Android常见错误处理(三)

1.java.net.SocketException: Noroute to host 解决办法:关闭防火墙/网络有问题,重新连接 WIFI 或者检查网络端口. 2.Failed to install xxx.apk on device 'xxxxxxxxx': Unable to open sync connection! java.io.IOException: Unable to open sync connection! Launch canceled! 解决办法:一般是因为设备没连接好

Android常见错误处理(一)

1.Set android:baselineAligned="false" on this element for better performance 如果LinearLayout被用于嵌套的layout空间计算,它的android:baselineAligned属性应该设置成false,以加速layout计算 2.This tag and its children can be replaced by one <TextView/> and a compound dra

Android 常见错误

1. org.apache.http.conn.HttpHostConnectException: Connection to refused 权限问题: <uses-permission android:name="android.permission.INTERNET"/> 2. 浏览器直接输入url可以get,http get失败 在Activity(调用HttpClient处),也可能是Fragment,中添加 StrictMode.ThreadPolicy pol

Socket常见错误

一.简介 本文介绍 Socket 连接常见错误.   二.常见错误 1)ECONNABORTED 描述:"software caused connection abort",即"软件引起的连接中止" 原因:当服务和客户进程在完成用于 TCP 连接的"三次握手"后,客户 TCP 发送了一个 RST (复位)   2)ECONNRESET 描述:"connection reset by peer",即"对方复位连接&qu