Android OOM的解决方式】的更多相关文章

尽量不要使用setImageBitmap或setImageResource或BitmapFactory.decodeResource来设置一张大图. 由于这些函数在完毕decode后,终于都是通过java层的createBitmap来完毕的,须要消耗很多其它内存. 因此,改用先通过BitmapFactory.decodeStream方法,创建出一个bitmap,再将其设为ImageView的 source. decodeStream最大的秘密在于其直接调用JNI>>nativeDecodeAs…
前几天做项目的时候,甲方要求是PAD (SAMSUNG P600 10.1寸 2560*1600)的PAD上显示高分辨率的大图片. SQLITE採用BOLD方式存储图片,这个存取过程就不说了哈,网上一大堆. 可是在加载/读取/显示图片的时候会报OOM错误,上网查了非常多解决方式还绕了非常多弯路,最后还是找到了原因所在.以下从几个方面来解释一下OOM问题的解决方式. (谢谢周同学的"尺寸"提醒.不然我可能一辈子都要蒙在鼓里) 1.Android APP内存 做一个APP开发的时候,还是不…
今天遇到的奇怪问题是网上下载的demo导入第三方包运行后Android: NoClassDefFoundError的错误,原因是第三方的jar包并没有打包进apk里,运行是肯定要出错的. 网上百度了N久,都是说先移除之前的Libraries,再将lib更名为libs的做法.今天是遇到邪门了,照做还是运行报错.后来发现直接add的jar包还是放在Referenced Libraries里,ADT升级到17后就出现了Android Dependencies,但这是自动生成的.将名字改来改去工程删来删…
问题:无法訪问developer.android.com,就无法知道Android的最新信息. 解决的方法:寻找国外的代理ip,比方http://www.xici.net.co/上面的国外代理ip. 设置方法:以谷歌浏览器(Chrome)为例. step1:点击"设置". step2:点击"显示高级设置". step3:点击"网络"标签下的"更改代理server设置". step4:在"连接"标签下,点击&…
转载请注明出处:http://blog.csdn.net/l1028386804/article/details/46942139 1.android.view.WindowManager$BadTokenException: Unable to add window -- token null is not for an application 解决方式:将getApplication改成xxxx.this 2.call you are unregister onbrocastRevicer?…
转自:http://blog.csdn.net/a910626/article/details/50849760 一.什么是内存泄漏 在Java程序中,如果一个对象没有利用价值了,正常情况下gc是会对其进行回收的,但是此时仍然有其他引用指向这个活在堆内存中的对象,那么gc就不会认为这个对象是一个垃圾,那么就不会对其进行回收,所以它会一直活在堆内存中占用内存,这就导致了内存泄漏. 总结一下,导致内存泄漏的原因就是有一些我们永远不会使用的对象,仍然有引用指向它(当然这是在强引用的情况下),那么就不满…
转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/45586553 在Android全部系统自带的控件其中,ListView这个控件算是使用方法比較复杂的了,关键是使用方法复杂也就算了,它还常常会出现一些稀奇古怪的问题.让人非常头疼.比方说在ListView中载入图片,假设是同步载入图片倒还好,可是一旦使用异步载入图片那么问题就来了,这个问题我相信非常多Android开发人员都以前遇到过.就是异步载入图片会出现错位乱序的情况.遇到这…
  尽量不要使用setImageBitmap或setImageResource或BitmapFactory.decodeResource来设置一张大图, 因为这些函数在完成decode后,最终都是通过java层的createBitmap来完成的,需要消耗更多内存. 因此,改用先通过BitmapFactory.decodeStream方法,创建出一个bitmap,再将其设为ImageView的 source, decodeStream最大的秘密在于其直接调用JNI>>nativeDecodeAs…
今天在调试android程序的时候,因为是NDK开发,要先编译.so库再打包下载到android模拟器,所以花费的时间比較长.控制台就会报例如以下错误: error launching activity com.android.ddmlib.shellcommandunresponsiveexception 在百度上搜没找到答案,然后谷歌,在stackoverflow这个论坛上找到了答案,经验证能够解决问题. 解决方式: Window->Preferences->Android->DDM…
问题描写叙述: 用下面代码绘制虚线: <span style="font-family:Comic Sans MS;font-size:18px;"><? xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="…
在导入eclipse项目到Android Studio出现这种错误, 非法字符: '\ufeff' 解决方式|错误: 须要class, interface或enum.查阅后了解到Eclipse能够智能的把UTF-8+BOM文件c=search&key=%E8%BD%AC%E4%B8%BA" target="_blank" style="margin:0px; padding:0px; color:rgb(51,51,51); text-decoration:…
我把android的adt和sdk从4.0升级到4.2,发现eclipse的android设置里面原来列出的各种api level的platform消失了,而且无法新建android工程.而且检查过了sdk和adt都是最新的. 解决方式就是重新建一个工作区(workspace).在eclipse的Windows > Preferences > General > Startup an Shutdown > Workspaces 里面,Remove掉以前的workspace,再重启e…
异常现象: 今天在处理用户头像的过程中,由于头像的处理比較复杂,由于,没有使用afinal自带的自己主动载入.而是自己依据头像的下载路径.手动进行下载和使用.可是在手动回收bitmap对象的过程中,会出现Cannot generate texture from bitmap异常的情况,同一时候,ImageView显示是黑色的,图像不能正常显示. 解决方式: 在查阅了一些其它人的资料之后,发现这可能是因为4.0之后系统开启了GPU硬件加速导致的.因此,我们能够在图片载入之前,设置ImageView…
关于下拉刷新/上拉载入很多其它的解决方式网上已经有非常多了,浏览了眼下主流的下拉控件比方PullToRefresh库等.第一:大多数实现库都难以进行动画和样式的自己定义. 第二:不能非常好的兼容多种滚动控件,它们都对listView.RecyclerView等进行了不同程度的又一次实现,你在项目中就得使用库提供的PullToRefreshListView.PullToRefreshRecyclerView等来取代源生的listView.RecyclerView等.这种方式事实上并不好,随着and…
近期打开Eclipse的时候,总是发生这种一个错误:"Running Android Lint has encountered a problem".截图例如以下: . 可是Eclipse能够正常执行程序.不会造成其它影响.可是每次打开Eclipse时.总是看到这个警告,心情会非常不爽.详细解决方式例如以下: (1)打开Preferences.在Windows以下应该在WIndow-->Preferences.在mac下在Eclipse-->偏好设置.选择Android--…
一.背景介绍 近期在项目中遇到一个需求.实现一个后台拍照的功能. 一開始在网上寻找解决方式.也尝试了非常多种实现方式,都没有惬意的方案.只是确定了难点:即拍照要先预览,然后再调用拍照方法.问题也随之而来.既然是要实现后台拍照,就希望能在Service中或者是异步的线程中进行,这和预览这个步骤有点相矛盾. 那有什么方式可以既能正常的实现预览.拍照,又不让使用者察觉呢?想必大家也会想到一个取巧的办法:隐藏预览界面. 说明一下,这仅仅是我在摸索中想到的一种解决方式.能非常好的解决业务上的需求. 对于像…
今天在调试Android NDK的时候,ADT的控制台报了这个错误: Unknown Application ABI, Unable to detect application ABI's 在网上查了好久,最终找到了解决方式: 在project的jni目录以下新建一个Makefile类型的文件,文件名称为Application. (注:假设你不知道怎么新建Makefile类型的文件,能够把jni目录下的Android.mk文件在原地复制一份,然后重命名为Application.打开Applica…
近期查了非常久这个事情.分享给大家, 原理非常easy,一个Activity在manifet里声明了android:parentActivityName:这时候通过Activity左上角的返回button点击返回, 启动声明的父Activity,总会先调用父Activity的OnDestroy方法,详细如以下所说: <activity android:name="com.example.helloworld.DisplayMessageActivity" android:labe…
Android Activity启动黑/白屏原因与解决方式 我们新建一个HelloWorld项目,运行在手机上时,Activity打开之前会有一个动画,而这个动画里是全白或者全黑的(取决于你的主题是亮还是暗),我们结束进程并点击在桌面上的APP图标,同样会有这个现象出现.当我们打开手机上安装的各个公司的APP时,可以发现其中大部分APP的启动动画都是有颜色有图案的,当然也有一小部分APP是全黑或全白的.那么为什么会出现这种情况呢? Activity启动黑/白屏的原因 一个Activity的显示内…
Warning: can't find superclass or interface Warning: can't find referenced class 这两个问题的解决方法: 1.要把你项目中所引入的第三方jar包使用"-libraryjars 包路径"指定好. 2.还是报错的话,确保报错的类没有在你的项目中使用到,使用"-dontwarn 类名正則表達式"屏蔽警告. 完了?但是我还想问:第一步做完后还是报错,并且这个类在我项目中真的实用到,不能使用&qu…
Android oom 有时出现很频繁,这一般不是Android设计的问题,一般是我们的问题. 就我的经验而言,出现oom,无非主要是以下几个方面: 一.加载对象过大 二.相应资源过多,没有来不及释放. 解决这样的问题,也有一下几个方面: 一:在内存引用上做些处理,常用的有软引用.强化引用.弱引用 二:在内存中加载图片时直接在内存中做处理,如:边界压缩. 三:动态回收内存 四:优化Dalvik虚拟机的堆内存分配 五:自定义堆内存大小 可真有这么简单吗,不见得,看我娓娓道来: 软引用(SoftRe…
一,什么是OOM异常: OOM(out of Memory)即内存溢出异常,也就是说内存占有量超过了VM所分配的最大,导致应用程序异常终止: 二,为什么会产生OOM异常呢? OOM异常是Android中经常遇到的一个问题,程序员稍微不注意可能就导致其产生.通常OOM都发生在需要用到大量内存的情况下,因为Android的每一个应用都是一个Davlik虚拟机,该虚拟机的默认堆内存只有16M,远远无法跟我们的PC机比较,因此和容易导致OOM(Out Of Memory)异常的产生.导致这样的异常主要有…
打开eclipse,新建安卓SDK模拟器时,选择完Target之后,再选择CPU/ABI时,默认为No system images installed for this target. 且无法编辑: 如图: 也就是没有适合的系统镜像,那也就创建不了安卓模拟器了: 解决方式: 打开SDK Manager,在对应的android 版本中选上System Image,并install: 如果install过程失败,出现: Download interrupted: Connection to http…
在游戏中对接支付的SDK的时候引入支付的so文件的时候在编译的时候总是被删除,后来经过查找资料自己整理出了一个解决方式 方案例如以下 在项目导入安卓中之后.在相应的jni目录中创建一个prebuilt的目录.把要导入的so文件所有复制进去 然后写一个bat批处理的文件 文件内容为: xcopy /x /s /c /r G:\SVN\Kimbio\proj.android\jni\prebuilt\*.so G:\SVN\Kimbio\proj.android\libs\armeabi\ 详细的路…
言:Android SDK代理服务器解决国内Android SDK不能更新下载问题,经常会遇到Fitch fail URL错误,要不就是Nothing was installed.目下Google遭受在中国用户史上的严冬(堪比The ice age),余花了三天时间去搞这个代理问题,但是收效甚微,因为许多代理都不起作用了.写此篇博客的目的是:一方面是为了向大家征求最新的解决方案,另一方面是为了让更多的Android的开发者把时间用到业务和技术实现上去而不是纠结于环境搭建.下面介绍下我用过的代理方…
Android 修改屏幕解锁方式 问题 在手机第一次开机的时候,运行手机激活的APP 在激活APP允许过程中,当用户按电源键的时候,屏幕黑掉,进入锁屏状态 手机默认的锁屏是滑动解锁 用户这个时候再一次按电源键的时候,屏幕亮起,处于滑动解锁的页面 而用户在这个滑动解锁的页面上,可以点击一下按钮(相机,通知栏中的快捷按钮)甚至还可以进入设置程序APP,违反了需求. 解决办法 这里的解决办法是,将手机的锁屏方式从“滑动解锁”修改为“无”,即可. 具体代码 通过查看Settings APP的源码,发现当…
1.环境准备 1.电脑上安装fiddler 2.手机和电脑在同一个局域网内 2.设置 1.fiddler>Tools>Fiddler Options>Connections 勾选Allow remote computers to connect. 2.记住这里的端口号:8888,后面会用到. 3.查看电脑ip 4.设置代理 1.手机设置->WLAN设置->选择该wifi,点右边的箭头(有的手机是长按弹出选项框). 2.选择修改网络配置: 服务器主机名:与主机电脑IP地址保持一…
原文地址:http://blog.csdn.net/boonya/article/details/38752647 读者须知:本篇文章中最靠谱的是第三种方式,最近有读者反映第三种方式也不行了,下面提供一点其他途径的开源镜像站点: 国内高校的开源镜像站 中国科学技术大学(debian.ustc.edu.cn) 上海交通大学(ftp.stju.edu.cn) 大连理工大学(mirror.dlut.edu.cn) 北京交通大学(mirror.bjtu.edu.cn) 北京理工大学(mirror.bit…
參考资料: [android ndk]macos环境下Android Studio中利用gradle编译jni模块及配置:http://demo.netfoucs.com/ashqal/article/details/21869151 ANDROID STUDIO, GRADLE AND NDK INTEGRATION:http://ph0b.com/android-studio-gradle-and-ndk-integration/ Gradle Plugin User Guide:http:…
项目开发中须要使用GridView批处理操作,多项选择. 可是GridView.setChoiceMode(GridView.CHOICE_MODE_MULTIPLE_MODAL)不兼容低版本号. 找解决方式.查看android sdk提供的demo里介绍的GridView多项选择的方法 public class Grid3 extends Activity { GridView mGrid; @Override protected void onCreate(Bundle savedInsta…