Android
vurtne
码农
展开
-
使用WakeLock使Android应用程序保持后台唤醒
在使用一些产品列如微信、QQ之类的,如果有新消息来时,手机屏幕即使在锁屏状态下也会亮起并提示声音,这时用户就知道有新消息来临了。但是,一般情况下手机锁屏后,Android系统为了省电以及减少CPU消耗,在一段时间后会使系统进入休眠状态,这时,Android系统中CPU会保持在一个相对较低的功耗状态。针对前面的例子,收到新消息必定有网络请求,而网络请求是消耗CPU的操作,那么如何在锁屏状态乃至系统进转载 2014-01-25 15:31:56 · 2731 阅读 · 1 评论 -
a类继承base,实现接口i,base父类实现了接口i的方法,请问a还需要实现接口方法吗?
答案:不需要原创 2014-08-21 09:43:26 · 754 阅读 · 0 评论 -
Android 在使用Bitmap的时候为啥要手动调用recycle方法呢?
http://blog.chinaunix.net/uid-20771867-id-3351053.html我们知道手机的内存有限,而图片所占的内存往往又很大。所以在处理图片的时候可以在服务端或者客户端提前将图片处理一下,减少其体积。另外使用Bitmap的时候可以使用SoftReference来及时释放资源。但是看到好多程序还是主动地调用Bitmap对象的recycle方法来释转载 2014-07-13 17:17:11 · 1307 阅读 · 0 评论 -
android安装新版本,双进程问题
stack overflow:http://stackoverflow.com/questions/16283079/re-launch-of-activity-on-home-button-but-only-the-first-time/16447508#16447508xianxif (!isTaskRoot()) { // Android launched anoth原创 2014-07-30 22:31:45 · 811 阅读 · 0 评论 -
Android内存溢出分析
http://blog.tisa7.com/tech/android_memory_management_and_solve_oom_problem.html内存溢出,是Android开发中常遇到的问题,解决起来总是摸不着头脑。今天爬爬就来讲讲如何定位内存溢出。1. OOM(内存溢出)和Memory Leak(内存泄露)有什么关系?OOM可能是因为Memory转载 2014-07-13 12:49:23 · 756 阅读 · 0 评论 -
Android4.0之后系统通知栏icon显示不全问题
测试发现解决办法是:把icon的大小改为48*48即可,buqi原创 2014-07-23 16:14:10 · 2246 阅读 · 0 评论 -
混淆Android JAR包的方法
1)导出jar包 如何在eclipse上android工程中导出jar包?google,baidu.bing 2)混淆jar包,打乱代码 android的jar包跟普通的java的jar包不一样,我们不想打乱一些activity或者server等跟系统打交道的代码,这是因为如果把这些也混淆了,那你还需要搞清楚混淆后这些activity变成了什么名字,然后告诉使用你这个转载 2014-06-28 21:20:09 · 30801 阅读 · 8 评论 -
overridePendingTransition动画效果无效问题。
((Activity)mContext).overridePendingTransition(R.anim.activity_anim_fall, R.anim.activity_anim_none);原创 2014-04-28 18:40:01 · 8797 阅读 · 2 评论 -
使用惰性控件ViewStub实现布局动态加载
ViewStub:是一个看不见,0大小的视图,不会占用内存,且动态加载布局,提高代码性能。changji原创 2014-05-11 11:55:42 · 624 阅读 · 0 评论 -
继承View,无法访问protect成员
最近在做滚动回弹的特效,继承了FrameLayout,发现无法调用View的protectchengyua原创 2014-08-20 19:36:05 · 902 阅读 · 0 评论 -
eclipse add exteral jar 和 add jar的区别
1. add exteral jar 是不会把jar加载进apk或者dex里面的,一旦运行就会崩溃的。2.add jar就是我们平时用的,会原创 2014-08-25 19:30:03 · 665 阅读 · 0 评论 -
深入学习android之AlarmManager
原文:http://jinguo.iteye.com/blog/799778对应AlarmManage有一个AlarmManagerServie服务程 序,该服务程序才是正真提供闹铃服务的,它主要维护应用程序注册下来的各类闹铃并适时的设置即将触发的闹铃给闹铃设备(在系统中,linux实现的设备名 为”/dev/alarm”),并且一直监听闹铃设备,一旦有闹铃触发或者是闹铃事转载 2014-12-07 01:34:15 · 699 阅读 · 0 评论 -
android APK应用安装过程以及默认安装路径
一:安装过程APK是类似Symbian Sis或Sisx的文件格式。通过将APK文件直接传到Android模拟器或Android手机中执行即可安装。Android应用安装有如下四种方式1. 系统应用安装――开机时完成,没有安装界面2. 网络下载应用安装――通过market应用完成,没有安装界面3. ADB工具转载 2014-12-04 13:04:25 · 96637 阅读 · 1 评论 -
Android学习——ActivityManager与Proxy模式的运用
一 Proxy模式意图: 为其他对象提供一种代理以控制这个对象的访问。适用性: l 远程代理( Remote Proxy ): 为一个对象在不同的地址空间提供局部代表。 l 虚代理(Virtual Proxy)根据需要创建开销很大的对象。使用一个代理对象作为代表,在真正的需要时进行创建。 l 保护代理(Protection P转载 2014-12-18 15:36:40 · 748 阅读 · 0 评论 -
PNG图片尺寸小于2x2,导致小尺寸屏幕机型会缩放为0像素导致crash
Android安装包xhdpi中,如果PNG图片尺寸小于2x2,会导致在小尺寸屏幕机型会缩放为0像素导致crash原创 2014-10-10 11:23:35 · 912 阅读 · 0 评论 -
Android dex分包方案
当一个app的功能越来越复杂,代码量越来越多,也许有一天便会突然遇到下列现象:1. 生成的apk在2.3以前的机器无法安装,提示INSTALL_FAILED_DEXOPT2. 方法数量过多,编译时出错,提示:Conversion to Dalvik format failed:Unable to execute dex: method ID not in [0, 0xfff转载 2014-09-29 10:22:19 · 18966 阅读 · 17 评论 -
公司内网无法使用git
公司内网使用tor原创 2014-08-18 14:07:23 · 3582 阅读 · 0 评论 -
android eclipse 没有Annotation Processin
yinwandroidannotations原创 2014-08-26 17:11:00 · 3324 阅读 · 4 评论 -
getClassLoader 和 ClassLoader.getSystemClassLoader()区别
1. getClassLoader 是在apk内部加载的2.ClassLoader.getSystemClassLoader() 是系统级别。liz原创 2014-08-25 19:45:12 · 7968 阅读 · 1 评论 -
反编译pinterest
包含的开源控件:TwoWayView:Implementing a Horizontal ListView原创 2014-05-11 10:54:23 · 708 阅读 · 0 评论 -
butterknife视图注解
butterknife视图注解:解决findview()和setonclicktLis原创 2014-05-11 10:32:50 · 4645 阅读 · 1 评论 -
Android实战技巧:深入解析AsyncTask
AsyncTask的介绍及基本使用方法关于AsyncTask的介绍和基本使用方法可以参考官方文档和Android实战技巧:多线程AsyncTask这里就不重复。AsyncTask引发的一个问题上周遇到了一个极其诡异的问题,一个小功能从网络上下载一个图片,然后放到ImageView中,是用AsyncTask来实现的,本身逻辑也很简单,仅是在doInBackground中用HT转载 2014-03-19 20:18:22 · 557 阅读 · 0 评论 -
sqlite插入24条时间慢
最近做聊天系统,进去聊天界面需要从服务器拉24消息,发现如果一条条的插会导致很慢,大概6,7秒解决办法:事务(大概1秒左右) /** * 事务批量存储数据,提高速度 * @param c * @param mlist_message */ public synchronized static void message_save_message_to_db_tran原创 2014-03-13 14:38:56 · 725 阅读 · 0 评论 -
拍照插入指定目录,并显示在系统相册中
private static final Uri STORAGE_URI = Images.Media.EXTERNAL_CONTENT_URI;private static final String IMAGE_MIME_TYPE = "image/png";ContentValues values = new ContentValues(7);values.put(Imag原创 2014-02-19 11:18:13 · 1729 阅读 · 0 评论 -
Android中静态变量的生命周期
静态变量的生命周期,起始于类的加载,终止于类的释放。什么时候类会加载呢?我们知道,在app打开时,会创建一个进程,然后初始化一个dvm的实例,负责类的加载释放 和 垃圾回收等。换句话说,在进程创建之后,就会加载类,静态变量诞生了。那何时释放?当然是在类卸载的时候。同上面。在进程结束之前,静态变量就寿终正寝。我们知道,Android中,你是不知道何时进程会被Kill。所以转载 2014-02-10 14:29:39 · 10345 阅读 · 4 评论 -
Android 进程生命周期 Process Lifecycle
进程的生命周期 Android系统会尽力保持应用的进程,但是有时为了给新的进程和更重要的进程回收一些内存空间,它会移除一些旧的进程。 为了决定哪些进程留下,哪些进程被杀死,系统根据在进程中在运行的组件及组件的状态,为每一个进程分配了一个优先级等级。 优先级最低的进程首先被杀死。 这个进程重要性的层次结构有五个等级,下面就列出这五种进程,按照重要性来排列,最重转载 2014-02-08 11:45:37 · 635 阅读 · 0 评论 -
系统休眠,防止service被kill
最近在使用android 4.1系统的时候,发现在手机休眠一段时间后(1-2小时),后台运行的服务被强行kill掉,有可能是系统回收内存的一种机制,要想避免这种情况可以通过startForeground让服务前台运行,当stopservice的时候通过stopForeground去掉。要想实现需求,我们只需要在onStartCommand里面调用 startForeground,然后再onDe原创 2014-02-08 11:43:13 · 2649 阅读 · 0 评论 -
两个view重叠如何只让顶层的view相应事件
我的FrameLayout里面有2个视图顶层view如果不消费点击事件,就会传递给子view,所以解决办法是:给顶层view1.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {//不需要任何操作,只是为了消费事件}});原创 2014-02-20 21:13:21 · 2766 阅读 · 0 评论 -
Android AlarmManager实现不间断轮询服务
在消息的获取上是选择轮询还是推送得根据实际的业务需要来技术选型,例如对消息实时性比较高的需求,比如微博新通知或新闻等那就最好是用推送了。但如果只是一般的消息检测比如更新检查,可能是半个小时或一个小时一次,那用轮询也是一个不错的选择,因为不需要额外搭建推送服务器,不用额外配置推送服务。另外推送现在一般以维持长连接的方式实现,在手机客户端也会耗费一定的电量。今天就介绍一个在Android上实现轮询机制转载 2014-01-25 15:24:51 · 4119 阅读 · 3 评论 -
系统拍照,activity被销毁
最近做拍照上传头像,发现在一些内存低的机器,拍照返回的时候回把Activity弹出框销毁,重新oncreate()一次,如下的弹出框,可而想之,在android所有的界面都是不安全的,可持续的数据不能放在activity里面,因为我的 private Uri photoUri; 就是放在activity里面原创 2014-03-20 16:30:36 · 906 阅读 · 0 评论 -
android数据库 批量 事务 操作
先说说多线程 数据库sqlite问题:1:多线程 单例 SQLiteOpenHelper 可以同时读和写。2.多线程 多个对象 SQLiteOpenHelper 不能同时读写(可以同时读)。原创 2014-03-24 13:19:06 · 6602 阅读 · 0 评论 -
android 使用单例还是service?
stackover看到的回答,挺不错的。26down votefavorite11I'm quite new to Android development.When is it a good idea to create an Android Service instead of just using a simple转载 2014-05-10 23:45:37 · 5758 阅读 · 1 评论 -
Android 异步查询框架AsyncQueryHandler的使用
AsyncQueryHandler简介:异步的查询操作帮助类,可以处理增删改(ContentProvider提供的数据)使用场景:在一般的应用中可以使用ContentProvider去操作数据库。这在数据量很小的时候是没有问题的,但是如果数据量大了,可能导致UI线程发生ANR异常(超过5秒)。当然你也可以写个Handler去做这些操作,只转载 2014-05-10 23:42:58 · 624 阅读 · 0 评论 -
Fragment提交commit时候异常(Can not perform this action after onSaveInstanceState)
A界面是FragmentActivity 然后在fragment里面启动了Activity B,在B结束fini原创 2014-04-10 16:39:26 · 2378 阅读 · 1 评论 -
android 多次调用getview的position=0
scrollview里面嵌套gridview,gridview的高度未知。会chux原创 2014-04-23 22:52:15 · 2948 阅读 · 0 评论 -
Textview滚动
<TextView android:id="@+id/text_view" android:layout_width="fill_parent" android:layout_height="wrap_content" android:singleLine="false" android:maxLines="10" andro原创 2014-05-07 13:21:44 · 477 阅读 · 0 评论 -
android中json转换java对象
公司协议一直都是用json,难免少不了将js原创 2014-05-06 10:28:30 · 949 阅读 · 0 评论 -
异步加载数据库数据
一般加载数据都是开启线程原创 2014-05-06 09:42:08 · 3056 阅读 · 0 评论 -
IntentService 与ResultReceiver
在google的I/O大会中关于“Writing zippy Android apps”,有讲过用IntentService的问题,但是因为API文档中对IntentService描述不是很详细,所以很少人使用IntentService。android.app.IntentService“IntentService is a base class for Services that h转载 2014-05-06 10:25:39 · 544 阅读 · 0 评论 -
java virtual machine 探讨
开发android这么多年,很多人对于jvm 和 dalvik 都只知道大概,对于底层原理不是很清楚,dalvik是基于jvm下开发演变的,所以我们这里先探讨一下jvm,弄明白了对于dalvik也就水到渠成了。一:jvm的结构划分原创 2014-12-31 10:58:36 · 680 阅读 · 0 评论