- 浏览: 161007 次
- 性别:
- 来自: 北京
最新评论
-
qluojieq:
写得很好,学习了,
Android的Fragment中onActivityResult不被调用的终极解决方案 -
弘毅天空:
你好你好你好你好你好 ...
Android通过ViewPager实现左右滑动切换图片 -
chenzheng8975:
楼主代码没贴完啊。。。。
Android通过ViewPager实现左右滑动切换图片 -
z201008060102:
- -!这个为啥不能用在片段里,都试过好多遍了
Android下的横向ListView源代码下载 -
mejonzhan:
chx230861 写道 public void setSel ...
Android下的横向ListView源代码下载
文章列表
今天发现一些手机上重写onDraw之后,获取到canvas的width和height不正确导致绘图出问题。这里还是用View的getWidth和getHeight更靠谱一些。
最近每天被Google坑,整个人也是不太好。。。
你们遇到过这样恶心的Log吗?这个.9的资源文件明明就在那里,却说不在。仔细研究,发现竟然是downsampling的时候出了问题。
放在高dpi目录中的图片资源文件,在低dpi手机上使用的时候,会自动进行缩小。如果你放在高dpi目录(比如drawable-xxhdpi)中的图片尺寸太小,那么大小就可能会被缩小为0,出现了这个问题。
解决方案:很简单,把图片改大一点。。。。。
java.lang.RuntimeException: Unable to start activity ComponentInfo{com. ...
Fragment中的onActivityResult不被调用,有几种情况,请大家一一排查。
1.检查该Fragment所属的Activity中,是否重写了onActivityResult方法。
如果是该种情况,请确保写了super.onActivityResult:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (re ...
直接上代码:
LinearLayout mLayout = new LinearLayout(this);
LayoutInflater.from(this).inflate(R.layout.header, mLayout, true);
mListView.addHeaderView(mLayout);
如果设置(在Layout画出来之后):
LayoutParams lp = mLayout.getLayoutParams();
lp.height = 0;
mLayout.setLayoutParams(lp);
则mLayout的高度不是0,会变为 ...
clearTaskOnLaunch属性能够让我们在打开应用图标的时候进入固定的页面,而从任务管理器中打开则为当时退到后台的页面。
这么说吧:打开应用进入Activity A,然后再打开Activity B,按Home键回到桌面。这时候,如果点击桌面图标,正常情况则回到Activity B。但是如果你加了这个属性clearTaskOnLaunch,则会开启Activity A,而从任务管理器打开的话,还是回到B。
但是如果从A打开B的时候,是用的startActivityForResult,则任何时候都会回到B,就是说clearTaskOnLaunch无效了
直接native层crash,DAMN........
解决方式:去掉所有的#define,常量改为const,其他改为函数。
三星的note的OpenGL编译器竟然不支持#define的反斜线换行
最近发现了一个奇怪的问题,一处很久前写的代码,通过AsyncTask的doInBackground进行后台处理,突然间不管用了,就是说doInBackground没有被执行。同事查询SVN,发现相关代码没有过任何更改,经过很久的检查,发现只有在Manifest中有 ...
有一处很奇怪的Crash,在退出一个Activity的时候Native Code Crash,而且是概率性发生。堆栈中的信息包含libskia.so。经过仔细排查,发现Google Code中有人提到类似问题,是libskia的库负责图像编解码等,而这个库不是线程安全的,那么在对Bitmap调用recycle方法时,可能造成线程崩溃,所以recycle要慎用。
(2)内存泄漏:多线程
在非UI线程(Worker Thread)中有时会用到this.wait()方法让线程进入等待状态。此时,如果Activity退出没有干涉它,那么该线程将一直处于等待状态,线程持有的对象将无法回收。所以,在Activity退出时,要notify等待的worker线程。如果线程中有长时间循环的话,要通过标志位等方法将循环结束。
一、常见的内存泄漏
对于较大规模的Android应用开发,内存泄漏是个让人十分头痛的问题。一般来说,Android使用Java语言进行开发,通过GC进行内存回收。如果对象处于被引用的状态,那么GC是无法回收的。尤其是Android中Activity的Context,很容易在不易察觉的情况下被引用。Activity关闭的时候,引用该Context的对象还在使用中,致使Activity无法回收造成泄漏。而Context中有大量该Activity相关的信息以及资源,通常内存泄漏较大。
二、查看Activity是否有内存泄漏
Andorid在Eclipse中的DDMS插件比 ...
OpenCV是非常强大的图像处理开源库,很强大的支持图像和视频的采集、处理等。最近发布的2.4版本对Android和iOS的支持更加强大,使开发者能够很轻易的在移动设备上开发图像处理相关应用。
1.下载Android专用OpenCV包,下载链接。解压缩。
2.Import解压缩的OpenCV目录(都已配置好,不用New),选择Existing Projects into Workspace
设置解压缩目录为root directory
完成即可。
如果此时有红叉或者叹号,就将每个项目刷新一下就好。
Google在Android 3.0SDK中推出的ViewPager控件很大程度上满足了开发者开发页面左右移动切换的功能,使用非常方便,参见:http://jameszhao84.iteye.com/blog/1344584。但是使用中发现,在删除或者修改数据的时候,PagerAdapter无法像BaseAdapter那样 ...
问:编译时候生成多个.so文件,有时会在armeabi和armeabi-v7a中分别放置一份,为什么?
答:该设置一般能在jni下的Application.mk中或Android.mk中找到。这个需要看你的Native Code要做什么事情,armeabi是指的该so库用于Arm的通用CPU,而v7a的CPU支持硬件浮点运算。因此armeabi通用性强,但速度慢,而v7a能充分发挥v7a CPU的能力。具体v7a的优势可以参见http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0344c/Cacciced.html ...