自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 收藏
  • 关注

Android部分手机上canvas size不正确的问题

今天发现一些手机上重写onDraw之后,获取到canvas的width和height不正确导致绘图出问题。这里还是用View的getWidth和getHeight更靠谱一些。

2015-05-12 22:23:46 230

原创 Android中图片资源文件找不到的问题

最近每天被Google坑,整个人也是不太好。。。你们遇到过这样恶心的Log吗?这个.9的资源文件明明就在那里,却说不在。仔细研究,发现竟然是downsampling的时候出了问题。 放在高dpi目录中的图片资源文件,在低dpi手机上使用的时候,会自动进行缩小。如果你放在高dpi目录(比如drawable-xxhdpi)中的图片尺寸太小,那么大小就可能会被缩小为0,出现了这个问题。...

2015-05-05 13:59:16 1069

Android的Fragment中onActivityResult不被调用的终极解决方案

Fragment中的onActivityResult不被调用,有几种情况,请大家一一排查。 1.检查该Fragment所属的Activity中,是否重写了onActivityResult方法。如果是该种情况,请确保写了super.onActivityResult: @Override protected void onActivityResult(int requestCod...

2015-05-04 22:52:42 700

AbsListView的Header不能直接固定大小为0

 直接上代码:LinearLayout mLayout = new LinearLayout(this);LayoutInflater.from(this).inflate(R.layout.header, mLayout, true);mListView.addHeaderView(mLayout);  如果设置(在Layout画出来之后):LayoutParams...

2015-02-19 17:48:03 135

原创 Avtivity的clearTaskOnLaunch属性与startActivityForResult冲突

clearTaskOnLaunch属性能够让我们在打开应用图标的时候进入固定的页面,而从任务管理器中打开则为当时退到后台的页面。 这么说吧:打开应用进入Activity A,然后再打开Activity B,按Home键回到桌面。这时候,如果点击桌面图标,正常情况则回到Activity B。但是如果你加了这个属性clearTaskOnLaunch,则会开启Activity A,而从任务管...

2013-12-05 18:39:41 135

小米1S不支持GLSL中的#define

直接native层crash,DAMN........解决方式:去掉所有的#define,常量改为const,其他改为函数。

2013-12-05 18:27:45 245

GLSL慎用define的反斜线换行

三星的note的OpenGL编译器竟然不支持#define的反斜线换行

2013-11-01 18:15:09 210

AsyncTask的版本兼容性与target sdk version

最近发现了一个奇怪的问题,一处很久前写的代码,通过AsyncTask的doInBackground进行后台处理,突然间不管用了,就是说doInBackground没有被执行。同事查询SVN,发现相关代码没有过任何更改,经过很久的检查,发现只有在Manifest中有一处很小的改动,就是添加了targetSDKVersion。将这个属性去掉,就没有问题了。 通过对源码和google grou...

2013-05-29 14:52:18 129

Native Code崩溃了?是libskia?onPause之后?Bitmap.recycle()线程不安全

有一处很奇怪的Crash,在退出一个Activity的时候Native Code Crash,而且是概率性发生。堆栈中的信息包含libskia.so。经过仔细排查,发现Google Code中有人提到类似问题,是libskia的库负责图像编解码等,而这个库不是线程安全的,那么在对Bitmap调用recycle方法时,可能造成线程崩溃,所以recycle要慎用。...

2013-05-27 15:10:21 283

原创 在CSDN有个新家

CSDN这个搬迁功能做得很奇怪

2012-12-21 13:08:18 95

原创 Android内存泄漏查找(2)

(2)内存泄漏:多线程 在非UI线程(Worker Thread)中有时会用到this.wait()方法让线程进入等待状态。此时,如果Activity退出没有干涉它,那么该线程将一直处于等待状态,线程持有的对象将无法回收。所以,在Activity退出时,要notify等待的worker线程。如果线程中有长时间循环的话,要通过标志位等方法将循环结束。...

2012-07-17 16:48:58 106

Android内存泄漏查找(1)

一、常见的内存泄漏对于较大规模的Android应用开发,内存泄漏是个让人十分头痛的问题。一般来说,Android使用Java语言进行开发,通过GC进行内存回收。如果对象处于被引用的状态,那么GC是无法回收的。尤其是Android中Activity的Context,很容易在不易察觉的情况下被引用。Activity关闭的时候,引用该Context的对象还在使用中,致使Activity无...

2012-07-16 17:27:04 96

原创 Android下使用OpenCV

OpenCV是非常强大的图像处理开源库,很强大的支持图像和视频的采集、处理等。最近发布的2.4版本对Android和iOS的支持更加强大,使开发者能够很轻易的在移动设备上开发图像处理相关应用。1.下载Android专用OpenCV包,下载链接。解压缩。2.Import解压缩的OpenCV目录(都已配置好,不用New),选择Existing Projects into Workspace...

2012-05-29 16:26:17 161

解决Android下ViewPager和PagerAdapter中调用notifyDataSetChanged失效问题

Google在Android 3.0SDK中推出的ViewPager控件很大程度上满足了开发者开发页面左右移动切换的功能,使用非常方便,参见:http://jameszhao84.iteye.com/blog/1344584。但是使用中发现,在删除或者修改数据的时候,PagerAdapter无法像BaseAdapter那样仅通过notifyDataSetChanged方法通知刷新View。...

2012-05-08 11:50:04 359

原创 NDK编译的so文件armeabi和armeabi-v7a

问:编译时候生成多个.so文件,有时会在armeabi和armeabi-v7a中分别放置一份,为什么? 答:该设置一般能在jni下的Application.mk中或Android.mk中找到。这个需要看你的Native Code要做什么事情,armeabi是指的该so库用于Arm的通用CPU,而v7a的CPU支持硬件浮点运算。因此armeabi通用性强,但速度慢,而v7a能充分发挥v7a ...

2012-04-24 10:41:56 1286

Mac OS截屏

从Snow Leopard系统开始,苹果直接提供了截取屏幕的API,使得之前通过读取分析屏幕信息进行截屏的方式大大简化。 #include "OpenGL/gl.h"+ (NSImage *)capture{ CGImageRef imageRef = CGDisplayCreateImage(kCGDirectMainDisplay); NSImage *...

2012-03-01 00:10:58 422

Android中编写Activity单元测试程序提高开发效率

Android开发中,大型工程往往存在很多的Activity,这些Activity互相关联,复杂度较高。我们在开发时需要经常对界面以及交互等进行测试,每次测试运行程序后,往往需要一层一层的进入我们想看的Activity才能测试。这个过程中,可能需要输入用户名和密码,或者需要从Gallery中选择一幅图片等。因此,大型工程的每次测试都需要较长的时间,导致开发效率降低。针对这种情况,我们可以只打开某个...

2012-02-20 16:47:24 132

Android中自定义View的MeasureSpec使用

有时,Android系统控件无法满足我们的需求,因此有必要自定义View。具体方法参见官方开发文档:http://developer.android.com/guide/topics/ui/custom-components.html一般来说,自定义控件都会去重写View的onMeasure方法,因为该方法指定该控件在屏幕上的大小。protected void onMeasure (i...

2012-02-14 12:13:03 147

图片说明Andorid中ImageView的不同属性ScaleType的区别

 ImageView是Android中的基础图片显示控件,该控件有个重要的属性是ScaleType,该属性用以表示显示图片的方式,共有8种取值ScaleType.CENTER, ScaleType.CENTER_CROP, ScaleType.CENTER_INSIDE, ScaleType.FIT_CENTER, ScaleType.FIT_END, ScaleType.FIT_START, S...

2012-02-08 12:59:24 111

Android下的横向ListView源代码下载

Android中,默认ListView都是纵向拖动的,横向拖动常用的有两种方式:1.使用Gallery控件,但该控件限制较多,很多时候难以满足我们的要求。比如:用该控件选中其中一项时,该项会自动居中,这样的功能有时是不需要的。因此,该控件灵活性很小。2.使用HorizentalScrollView,该控件可以支持横向滑动,但是并非使用AdapterView实现,不能管理内存。因此在内容较大...

2012-02-06 16:45:30 91

Android下native code(C++)的编译,NDK的使用

NDK能够让开发者在Android SDK的开发环境下进行native code的编译(即在Android中使用C++的代码)。Windows下Android新版本的NDK使用非常便捷,不需要安装任何Cygwin之类的Linux环境工工具。 配置NDK开发环境:1 确保已经安装好Android SDK和配置好开发环境。2 下载Windows版本NDK,链接:http://dl....

2012-02-03 13:49:21 239

Android通过ViewPager实现左右滑动切换图片

想开发像人人网相册打开单张图片时候能左右滑动切换图片的效果,开始通过FlipperView实现,不能跟手拖动,效果不好,而且需要自己写很多代码来控制FlipperView中的View。后来发现Android 3.0之后的SDK中提供了android-support-v4包用以实现版本兼容,让老版本系统下的应用通过加入jar包实现扩展,得到新版的各种技术优势,例如Fragment等。 Vie...

2012-01-13 11:25:45 810

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除