- 博客(19)
- 资源 (2)
- 收藏
- 关注
原创 Android源码中常用的系统广播
Android 内置了很多系统级别的广播,我们可以在应用程序里面通过监听这些广播来得到各种系统的状态信息。//关闭或打开飞行模式时的广播Intent.ACTION_AIRPLANE_MODE_CHANGED;//充电状态,或者电池的电量发生变化//电池的充电状态、电荷级别改变,不能通过组建声明接收这个广播,只有通过Context.registerReceiv
2016-03-30 15:55:32 1091
转载 Android内存泄漏的各种原因详解
在Android开发过程中,最为让我们头疼的就是内存的泄露问题了,很可能你很小的一个错误都会引起内存的泄露,下面将为大家奉上引起内存泄露的解决方案。1.资源对象没关闭造成的内存泄漏 描述:资源性对象比如(Cursor,File文件等)往往都用了一些缓冲,我们在不使用的时候,应该及时关闭它们,以便它们的缓冲及时回收内存。它们的缓冲不仅存在于 java虚拟机内,还存在于java虚拟机外
2016-03-29 17:13:57 568
原创 Android 性能优化
Android设备受内存和CPU的限制,性能的优化显的十分重要,而性能优化一个重要的问题就是内存泄漏,内存泄漏不会导致程序功能异常,但会导致Android程序内存占用过大,会提高内存溢出的概率。今天就平时开发过程结合网上的资源总结一下一些有效的性能优化方法,主要内容包括布局优化、绘制优化、内存泄漏优化、响应速度优化、ListView优化、Bitmap优化、线程优化及一些性能优化建议。 一:布
2016-03-29 15:59:03 535
转载 Android:AIDL进程之间的通信
意义: 由于每个应用进程都有自己的独立进程空间,在android平台上,一个进程通常不能访问另一个进程的内存空间,而我们经常需要夸进程传递对象,就需要把对象分解成操作对象可以理解的基本单元,并且有序的通过进程边界。定义: AIDL(Android Interface Definition Language)是一种IDL语言,用于生成可以在Android设备上两个进程
2016-03-18 17:34:43 668
原创 Android 5.0 InCallUI
Android 5.0 对InCallUI界面进行了调整以适应Google的Material Design。 下面来看一下来电的界面: 在Android 5.0中,InCallUI加入了新的呈现方式即Immersive Mode,只要在非LockScreen界面来电,来电信息将显示为一个浮动通知。该通知是一个Heads-up类型的Notifica
2016-03-18 14:42:24 3030
原创 RemoteViews在通知栏和小组件中的应用
RemoteViews和远程Service是一样的,表示的是一个View结构,它可以在其它进程中显示,更重要的是它可以跨进程更新界面。 RemoteViews在Android中的使用场景有两种:通知栏和桌面小组件。通知栏主要是通过NotificationManager的notify方法来实现的,它除了默认效果外,还可以自定义布局。桌面小组件则是通过AppWidgetProvider来实现的,App
2016-03-18 13:28:20 1046
原创 Android源码中关机充电UI的修改
对于Android源码来讲,不管是Android4.X系统还是Android5.X系统,关机充电的流程是一样的。想从网上找关于修改关机充电UI的知识,发现基本没有,今天有时间就总结一下关于如何修改关机充电的UI界面。 首先,需要了解一下关机充电的流程:如下图 看不懂图没有关系 我们今天主要是修改上层的UI界面,所以底层的流程有个大概的了解就行。 好了,下面我们就在Androi
2016-03-16 15:45:16 4994 3
原创 Android:SystemUi有关notification
Android 源码Music模块中当正在播放的音乐在下拉菜单中是有显示的。通过什么显示的--notification 关于音乐的显示过程: 1、在notification显示音乐图标代码如下:RemoteViews views = new RemoteViews(getPackageName(),R.layout.statusbar);views.setI
2016-03-16 15:20:53 1225
转载 AlertDialog常用的一些样式
AlertDialog alert = new AlertDialog.Builder(XXX.this).setTitle("提示") .setMessage("确定要退出么?") .setPositiveButton("确定",new DialogInterface.OnClickListener() {//设置确定按钮 @O
2016-03-16 15:20:50 1384 1
原创 Android让一个service开机自动启动
人生最可怕的,是比你优秀的人却比你更努力。 永远不要觉得别人望尘莫及,要做的,只是每天进步一点点, 加油!时间过得真快,今天有时间坐下来静静的整理之前的知识点。 今天我们主要来探讨android怎么让一个service开机自动启动功能的实现。Android手机在启动的过程中会触发一个Standard Broadcast Action,名字叫android.i
2016-03-16 15:20:48 1183
转载 Android:Service完全解析(三)
创建前台ServiceService几乎都是在后台运行的,一直以来它都是默默地做着辛苦的工作。但是Service的系统优先级还是比较低的,当系统出现内存不足情况时,就有可能会回收掉正在后台运行的Service。如果你希望Service可以一直保持运行状态,而不会由于系统内存不足的原因导致被回收,就可以考虑使用前台Service。前台Service和普通Service最大的区别就在于,它会一
2016-03-16 15:20:45 483
转载 Android:Service完全解析(二)
Service和Activity通信上面我们学习了Service的基本用法,启动Service之后,就可以在onCreate()或onStartCommand()方法里去执行一些具体的逻辑了。不过这样的话Service和Activity的关系并不大,只是Activity通知了Service一下:“你可以启动了。”然后Service就去忙自己的事情了。那么有没有什么办法能让它们俩的关联更多一
2016-03-16 15:20:43 415
转载 Android:Service完全解析(一)
相信大多数朋友对Service这个名词都不会陌生,没错,一个老练的Android程序员如果连Service都没听说过的话,那确实也太逊了。Service作为Android四大组件之一,在每一个应用程序中都扮演着非常重要的角色。它主要用于在后台处理一些耗时的逻辑,或者去执行某些需要长期运行的任务。必要的时候我们甚至可以在程序退出的情况下,让Service在后台继续保持运行状态。不过,虽然Se
2016-03-16 15:20:41 484
原创 Activity的四种启动模式
人生最可怕的,是比你优秀的人却比你更努力。 永远不要觉得别人望尘莫及,要做的,只是每天进步一点点, 加油!在Android中每个界面都是一个Activity,切换界面操作其实是多个不同Activity之间的实例化操作。在Android中Activity的启动模式决定了Activity的启动运行方式。 Android总Activity的启动模式分为四种:Activity启动
2016-03-16 15:20:39 499
原创 listview常用的优化技巧
ListView在平时的开发中无处不见,今天就对本人平时开发遇到的一些问题做一个简单的总结: 1: 设置项目间的分割线: android:divider="@android:color/darker_gray" android:dividerHeight="1dp" 2:隐藏listview的滚动条 android:scrollbars="
2016-03-16 15:20:36 542
原创 Android5.0系统 知识点总结(持续更新)
人生最可怕的,是比你优秀的人却比你更努力。 永远不要觉得别人望尘莫及,要做的,只是每天进步一点点, 加油!一、编译指令1、进入项目工作目录2、修改工程文件权限 chmod 777 -R ./(*)3、更新环境变量 source build/envsetup.sh4、执行指令:lunch full_gxq6580_we_l-eng,选择工程名5、编译工程指令:make
2016-03-16 15:20:34 3979
原创 容易忽略的ADB命令(持续更新中)
总结一下在开发中容易忽略但是又很好用的一些adb命令: 查找手机安装应用的包名:adb shell pm list packages -f 查看系统盘符:adbshell df 查看Log 1:adbshell 2: logcat | grep "abc" 删除应用:1:adbremount 2:adb shell 3:cdsystem/app
2016-03-16 14:56:14 1729
原创 选用合适的IPC方式
IPC 适合的场景及优缺点名称优点缺点使用场景Bundle简单易用只能传输Bundle支持的数据类型四大组建的进程间通信文件共享简单易用不适合高并发场景,无法做到进程间的及时通信没有并发的情形,交换简单的数据AIDL功能强大,支持一对多的并发通信,支持实时通信使用稍复杂,需要处理好线程同步一对多通信且有
2016-03-16 14:53:49 896
原创 Android修改浏览器书签和主页
前一段时间开发了一个AppDemo软件,功能是在我开发的App中能直接修改手机自带浏览器的主页,增加,删除书签(书签缩图同步更换)等功能。过程坎坷,但总算按时完成了,今天就开发过程中遇到的问题做一个总结。 首先遇到的第一个难点:清除浏览器的缓存数据 我们知道只要打开浏览器,那么浏览器的缓存数据就会保存在/data/data/com.android.browser中这个时候不
2016-03-16 13:43:28 4737 5
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人