- 博客(28)
- 资源 (10)
- 收藏
- 关注
转载 为什么 Android 要采用 Binder 作为 IPC 机制?
为什么 Android 要采用 Binder 作为 IPC 机制?声明:本文转载并整理于Gityuan的知乎回答,链接地址如下。 为什么 Android 要采用 Binder 作为 IPC 机制?1.Linux现有的所有进程间IPC方式1. 管道:在创建时分配一个page大小的内存,缓存区大小比较有限;2. 消息队列:信息复制两次,额外的CPU消耗;不合适频繁或信息量大的通信;3. 共享内存:
2017-09-13 10:33:00
846
原创 ReactXP入门指南
ReactXP入门指南1.ReactXP介绍ReactXP使用了React框架,使得开发人员可以使用React开发他们的跨平台任务。 React的理念是“学习一次,写在任何地方”。使用React和React Native,应用程序可以与iOS和Android应用程序共享大部分逻辑,但视图层需要为每个平台分别实现。而使用ReactXP则更进一步,开发了一个薄的跨平台层——ReactXP。使用Reac
2017-09-07 13:14:42
2611
原创 《2017Android常用框架收录——Butterknife》
《2017Android常用框架收录——Butterknife》1.ButterKnife 简介ButterKnife是一个专注于Android系统的View注入框架,可以减少大量的findViewById以及setOnClickListener代码,可视化一键生成。2.ButterKnife 优势1.强大的View绑定和Click事件处理功能,简化代码,提升开发效率 2.方便的处理Adapter
2017-08-25 14:04:19
347
原创 Android如何提高后台进程存活率
Android如何提高后台进程存活率1.应用进程停止运行原因1.用户主动退出;2.Crash异常退出;3.系统通过杀掉进程回收内存。2.应用进程优先级在Android系统中,应用进程的优先级(oomadj值)分为以下等级,不同定义的进程系统采用了不同的管理机制。oomadj值从-17到16,oom_adj越大,进程优先级越低 常见的五个等级为:前台进程(FORE
2017-08-22 14:55:22
1326
原创 ActivityManager(9)—getAppTasks()
ActivityManager:getAppTasks()1.作用用于获取与应用相关的任务列表,返回类型List。2.源码public List getAppTasks() { ArrayList tasks = new ArrayList(); List appTasks; try { appTasks = ActivityManager
2016-11-30 18:03:27
5035
原创 ActivityManager(8)—getLauncherLargeIconSize ()
ActivityManager:getLauncherLargeIconSize ()1.作用用于获取Lancher启动器的图标大小,返回值是int类型尺寸。2.源码public int getLauncherLargeIconSize() { return getLauncherLargeIconSizeInner(mContext);}static int get
2016-11-30 17:41:00
622
原创 ActivityManager(7)—getDeviceConfigurationInfo ()
ActivityManager:getDeviceConfigurationInfo ()1.作用用于获取设备的信息,返回值是ConfigurationInfo。2.源码 public ConfigurationInfo getDeviceConfigurationInfo() { try { return ActivityManagerNative.ge
2016-11-30 16:52:13
1525
1
原创 ActivityManager(6)—dumpPackageState(FileDescriptor fd, String packageName)
ActivityManager:dumpPackageState(FileDescriptor fd, String packageName)1.作用用于获取相应包名对应的apk的各种状态信息。2.源码public void dumpPackageState(FileDescriptor fd, String packageName) { dumpPackageState
2016-11-30 13:48:06
816
原创 ActivityManager(5)—addAppTask (Activity activity, Intent intent, ActivityManager)
ActivityManager:addAppTask (Activity activity, Intent intent, ActivityManager.TaskDescription description, Bitmap thumbnail)1.作用为应用创建一个新的任务,并放在任务栈的栈顶。参数:activity :需要被添加的Activity,用于确定进入任务栈的入口
2016-11-30 11:54:33
1991
转载 腾讯云互动直播SDK集成综述
SDK构成互动直播SDK由两部分构成,IMSDK和AVSDK其中IMSDK为云通信SDK,为AVSDK提供账号登录、信令通道、IM弹幕消息、日志模块、日志上报等功能AVSDK提供摄像头采集、编码、解码、美颜等一系列功能(下图为AVSDK整体框架)登录交互逻辑腾讯云互动直播提供两种账号对接方式托管模式由腾讯提供账号的注册
2016-11-25 09:57:08
10596
原创 Android与ReactNative下使用OData进行数据访问
Android与ReactNative下使用OData进行数据访问1.OData定义 Open Data Protocol (开放数据协议,OData)是用来查询和更新数据的一种Web协议,其提供了把存在于应用程序中的数据暴露出来的方式。OData运用且构建于很多 Web技术之上,比如HTTP、Atom Publishing Protocol(AtomPub)和JSON,提供了从各
2016-11-22 15:35:27
1203
1
原创 内存不足时Android 系统怎么Kill进程
内存不足时Android 系统怎么Kill进程Android系统的任务管理器,在系统内存不足时,系统会KILL一些进程(应用),以回收一部分资源,接下来就介绍一下Android 系统Kill进程的过程。进程优先级(importance hierarchy)Android系统尽量保持进程运行的更久,但是仍有时候,需要结束掉老的进程,回收内存来保证新的,或更重要的进程运行。要决定哪些
2016-11-14 13:56:02
968
转载 Android进程守护详解及解决方案
Android进程守护详解及解决方案1.进程守护 Android应用在运行过程中有一些服务进程,该些进程通常执行一些后台服务,这就要求这些进程要常驻在应用中。但目前市面上的一些安全防护应用会杀死应用的进程,为保证我们的应用的服务进程持久的存活,就引出了进程守护的定义。2.解决方案1.提高优先级 这个办法对普通应用而言,应该只是降低了应用被杀死的概率,但是如果真的
2016-11-14 10:53:08
4263
原创 《ReactNative入坑记录(二)ReactNative项目的创建、运行及调试(Android为例)》
《ReactNative入坑记录(二)ReactNative项目的创建、运行及调试(Android为例)》1.ReactNative项目的创建①管理员身份运行命令行cd到要存储项目的路径下,输入react-native init DemoProject 时间会比较长大概几分钟的样子。②项目创建好之后需要开启reactnative服务,命令行进入项目目录,执行react-native start③创...
2016-09-03 10:14:29
1544
原创 《ReactNative入坑记录(一)ReactNative介绍及环境搭建》
《ReactNative入坑记录(一)ReactNative介绍及环境搭建》1.写在前面先介绍一下笔者目前的情况,大学毕业两年一直从事移动产品的开发,主要做Android和IOS原生开发,Android开发为主,期间掺杂着.net、Jave、php等其他语言的开发。今年年初入职新公司,一直跟着产品经理进行公司互联网产品的设计工作,为缩短开发周期,技术团队决定采用ReactNative跨平
2016-09-03 08:51:11
607
原创 ActivityManager(4)—isLowRamDevice ()
ActivityManager:isLowRamDevice ()1.作用返回值是boolean值,用于判断设备是否是一个低内存的设备,如果返回为true则建议开发者减少一些消耗内存的操作。Android规定运行内存小于512M的设备为低内存设备。2.源码public boolean isLowRamDevice() { return isLowRamDeviceStat
2016-08-16 17:36:45
4786
原创 ActivityManager(3)—clearApplicationUserData()
ActivityManager:clearApplicationUserData()1.作用用于应用清除用户数据,相当于在设置中清除应用数据,但是不卸载该应用。2.源码 public boolean clearApplicationUserData() { return clearApplicationUserData(mContext.getPackageNa
2016-08-16 16:36:34
5133
原创 ActivityManager(2)—getMemoryClass()及getLargeMemoryClass()
ActivityManager:getMemoryClass()及getLargeMemoryClass()1.作用:用于获取应用可以使用的最大内存。2.源码:public int getMemoryClass() { return staticGetMemoryClass();}/** @hide */不对外暴露的方法static public int staticGe
2016-08-16 16:08:31
4468
原创 ActivityManager(1)—ActivityManager总结
ActivityManager总结列表1.公共方法(1)getMemoryClass()通过以兆为单位获取当前应用可用的内存大小。(2)getLargeMemoryClass()当开发者在 manifest 文件中的 标签中设置 largeHeap 属性的值为 "true"时, 当前应用就可以获取到系统分配的最大堆内存.如果你设置了该值, 可以通过 ActivityMa
2016-08-16 15:15:25
4007
原创 是时候吹一波Android N的新特性了。
2016年5月19日,谷歌在美国加州的山景城举办了 Google I/O 开发者大会中发布了Android N版本(Android 7.X)。 2016年6月,Android N正式命名为“牛轧糖”。作者对于Android N版本的更新做了初步了解,Android N主要在运行时和图形处理上做了更新;运行时间上,Android N对编译器进行了优化,软件的运行时间提升了3-6倍;引入了一个全新
2016-08-11 15:15:38
595
转载 关于Android中工作者线程的思考
工作者线程的存在原因因为Android的UI单线程模型,所有的UI相关的操作都需要在主线程(UI线程)执行Android中各大组件的生命周期回调都是位于主线程中,使得主线程的职责更重如果不使用工作者线程为主线程分担耗时的任务,会造成应用卡顿,严重时可能出现ANR(Application Not Responding),即程序未响应。因而,在Android中使用工作者
2015-12-21 13:48:04
425
原创 Android View总结
1.关于Android View控件Android中控件大致被分为两类ViewGroup,View。ViewGroup作为容器管理View。Android视图,是类似于Dom树的架构。父视图负责测量定位绘制等操作。我们经常在用的findViewById方法代价昂贵的原因,就是因为他负责至上而下遍历整棵控件树,来寻找View实例,在重复操作中尽量少用。现在在用的很多控件都是直接或者间接继承自Vi
2015-12-18 09:17:07
473
翻译 Android Asynchronous Http Client
概述Android Asynchronous Http Client是基于异步回调的Android内置的Apache HttpClient库HTTP客户端。所有的请求都是在你的应用程序的主要用户界面之外,但任何回调逻辑都会在同一个线程上执行,因为回调是使用安卓的处理程序消息传递的。您还可以在服务或后台线程中使用它,库将自动识别上下文是哪个上下文的。特征1.利用版4.3.6上游HttpC
2015-12-11 14:57:00
478
原创 解决Andriod软键盘出现把原来的布局给顶上去的方法
解决方法,在mainfest.xml中,对那个Activity加:以下为各个值得作用"stateUnspecified"软键盘的状态(是否它是隐藏或可见)没有被指定。系统将选择一个合适的状态或依赖于主题的设置。这个是为了软件盘行为默认的设置。"stateUnchanged"软键盘被保持无论它上次是什么状
2015-12-10 10:08:17
413
原创 避免ViewPager与其中的子View滑动冲突
子view里使用这个方法,getParent().requestDisallowInterceptTouchEvent(true) 可以中断pager获取到事件。
2015-12-10 09:34:21
412
翻译 Android禁止横屏竖屏切换
在一些特殊的情况下,Android开发期间会禁止某些Activity的横竖屏切换.下面介绍一种简单的方法:只要在AndroidManifest.xml里面配置一下就可以了。在AndroidManifest.xml的activity(需要禁止转向的activity)配置中加入android:screenOrientation=”landscape”属性即可(landscape是横向,po
2015-12-09 17:36:01
5185
原创 Java 时间戳与时间字符串的相互转换
1.时间戳转时间字符串的方法/***timeStamp就是时间戳,例如"1425617313" */public static String getTimeStr(String timeStamp) { String strTime = null; SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日HH时mm分
2015-12-09 17:01:35
1087
原创 Android自定义控件--圆形头像
Android 的圆形头像使用越来广泛,现提供最简单的实现方法圆形头像源码,大家可以下载使用.Eclipse版本:http://download.youkuaiyun.com/detail/lanye11/9340733AndroidStudio版本:http://download.youkuaiyun.com/detail/lanye11/9340767效果图如下:
2015-12-09 15:54:03
458
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人