[Android]一种提高Android应用进程存活率新方法 SkySeraph Jun. 19st 2016 Email:skyseraph00@163.com 更多精彩请直接访问SkySeraph个人站点:www.skyseraph.com 一.基础知识 1.Android 进程优先级 1.1 进程优先级等级一般分法:- Activte process- Visible Process- Service process- Background process- Empty process 1…
一.基础知识 1.Android 进程优先级 1.1 进程优先级等级一般分法:- Activte process- Visible Process- Service process- Background process- Empty process 1.2 进程优先级号 ProcessList.java // Adjustment used in certain places where we don't know it yet. // (Generally this is something…
1.写在前面 Android提供了丰富的Dialog函数,本文介绍最常用的8种对话框的使用方法,包括普通(包含提示消息和按钮).列表.单选.多选.等待.进度条.编辑.自定义等多种形式,将在第2部分介绍. 有时,我们希望在对话框创建或关闭时完成一些特定的功能,这需要复写Dialog的create().show().dismiss()等方法,将在第3部分介绍. 示例代码同步至github,将不断更新,欢迎关注我的github. 2.代码示例 2.1 普通Dialog(图1与图2) 2个按钮 publ…
SRAM是当今处理器上最普遍的内存.当芯片制造商宣布他们已经成功地将更多的电路封装到芯片上时,通常是较小的晶体管引起了人们的注意.但是连接晶体管形成电路的互连也必须收缩.IMEC的研究人员提出了一个方案,可以使SRAM保持良好的性能,并最终能够将更多的晶体管封装到集成电路中.而且还能降低导线电阻和延迟,提高SRAM的执行速度. SRAM由6个晶体管组成,控制读写的两条连线被称为位线和字线,是两条较长的连线.长而窄的连线电阻更大,延时更长.字线和位线的电阻对SRAM运行速度的提高和工作电压的降低构…
GOF23种设计模式 设计原则: 1. 单一职责原则(SRP):就一个类而言,应该仅有一个引起它变化的原因 2. 开放-封闭原则(OCP):软件实体(类.模块.函数等)应该可以扩展,但是不可修改.即对于扩展是开放的, 对于修改是封闭的. 3. 依赖倒转原则: A. 高层模块不应该依赖低层模块,两个都应该依赖抽象.B.抽象不应该依赖细节,细节应该依赖抽象.说白了,就是要针对接口编程,不要对实现编程. 4. 迪米特法则(LoD):如果两个类不必彼此直接通信,那么这两个类就不应该发生直接的相互作用.如…
在Nylas,我们喜欢使用Python进行开发.它的语法简单并富有表现力,拥有大量可用的开源模块和框架,而且这个社区既受欢迎又有多样性.我们的后台是纯用 Python 写的,团队也经常在 PyCon 和 meetups 上演讲.你可以认为我们是 Python 的超级粉. 然而,Python 的一个大缺陷是没有一个明确的工具来部署 Python 服务端应用.工作的情况就像是“执行 git 的 pull 命令后剩下的就只有祈祷了”,但这并不是一个好的方式,尤其当用户依赖于我们的应用.当你的应用引用了…
1.背景及概述 1.1 背景 在做NFV的过程中,由于控制面进程被放置到不同虚拟机中,中间可能跨越路由器,因此期间网络有可能震荡,这种情况下保证高可用性就必须有保护机制,本文正是在这种背景下的考虑. 1.2 概述 原理其实很简单,有两个原则,一是这种保护机制不能让业务感知,二是尽可能简单. 2. 详述 2.1 正常交互 (1)源进程发送消息给目的进程 (2)目的进程回应消息给源进程 注意的是这些应该封装成公共库,以便复用. 2.2 异常交互 异常交互为两个方面,一是上述msg由于震荡被丢或被严重…
背景描述: 以前,继承 QThread 重新实现 run() 函数是使用 QThread唯一推荐的使用方法.这是相当直观和易于使用的.但是在工作线程中使用槽机制和Qt事件循环时,一些用户使用错了.Qt  核心开发人员Bradley T. Hughes, 推荐使用QObject::moveToThread 把它们移动到线程中.不幸的是, 以用户反对这样使用.Olivier Goffart, 前Qt  核心开发人之一, 告诉这些用户你们不这样做就错了.最终这俩种用法我们都在QThread的文档中发现…
[工匠若水 http://blog.csdn.net/yanbober 转载请注明出处.点我开始Android技术交流] 1 背景 不能只分析源码呀,分析的同时也要整理归纳基础知识,刚好有人微博私信让全面说说Android的动画,所以今天来一发Android应用的各种Animation大集合.英文厉害的请直接移步参考Android Developer. Android系统提供了很多丰富的API去实现UI的2D与3D动画,最主要的划分可以分为如下几类: View Animation: 视图动画在古…
---恢复内容开始--- 在Android布局中,有五种常用的布局,下面我们就来学习一下这几种布局的使用方式 1) 线性布局:LinearLayout 2) 帧布局:  FrameLayout 3) 相对布局: RelativeLayout 4) 表格布局: TableLayout 5) 绝对布局: AbsoluteLayout(此布局官方不推荐使用) 6)GridLayout(此布局为4.0系统以后新推出的布局) 1. 线性布局 属性说明 属性   描述 wrap_content 填满父控件的…
当应用不再使用时,通常需要关闭应用,可以使用以下几种方法关闭android应用: 第一种方法:首先获取当前进程的id,然后杀死该进程.  建议使用这种方式 android.os.Process.killProcess(android.os.Process.myPid()) 第二种方法:终止当前正在运行的Java虚拟机,导致程序终止 System.exit(0); 或者 Runtime.getRuntime().exit(0); 第三种方法:强制关闭与该包有关联的一切执行 android2.1之前…
SharedPreferences类,它是一个轻量级的存储类,特别适合用于保存软件配置参数. 主要是保存一些常用的配置比如窗口状态,一般在Activity中 重载窗口状态onSaveInstanceState保存一般使用SharedPreferences完成,它提供了Android平台常规的Long长 整形.Int整形.String字符串型的保存. SharedPreferences保存数据,其背后是用xml文件存放数据,文件存放在/data/data/<package name>/share…
HttpUrlConnection 最开始学android的时候用的网络请求是HttpUrlConnection,当时很多东西还不知道,但是在android 2.2及以下版本中HttpUrlConnection存在着一些bug,所以建议在android 2.3以后使用HttpUrlConnection,之前使用HttpClient. 在Android 2.2版本之前,HttpClient拥有较少的bug,因此使用它是最好的选择.而在Android 2.3版本及以后,HttpURLConnecti…
原文链接 https://mp.weixin.qq.com/s/M19tp_ShOO6esKdozi7Nlg 两种方式实现类似水波扩散效果,先上图为敬 自定义view实现 动画实现 自定义view实现 思路分析:通过canvas画圆,每次改变圆半径和透明度,当半径达到一定程度,再次从中心开始绘圆,达到不同层级的效果,通过不断绘制达到view扩散效果 private Paint centerPaint; //中心圆paint private int radius = 100; //中心圆半径 pr…
android 五种数据存储 :SharePreferences.SQLite.Contert Provider.File.网络存储 Android系统提供了四种存储数据方式.分别为:SharePreference.SQLite.Content Provider和File.但由于Android系统中,数据基本是私有的,都是存放于”data/data”程序包名目录下,所以要实现数据共享,正确方式是使用Content Provider SQLite:SQLite是一个轻量级的数据库,支持基本的SQL…
1.写在前面 Android提供了丰富的Dialog函数,本文介绍最常用的8种对话框的使用方法,包括普通(包含提示消息和按钮).列表.单选.多选.等待.进度条.编辑.自定义等多种形式,将在第2部分介绍.    有时,我们希望在对话框创建或关闭时完成一些特定的功能,这需要复写Dialog的create().show().dismiss()等方法,将在第3部分介绍. 2.代码示例 2.1 普通Dialog(图1和图2) 2个按钮 public class MainActivity extends A…
1.创建Android项目工程:AndroidTest 创建过程可参考网上诸多教程. 2.添加新的Activity,步骤如下 a. 在layout文件夹上右键,New-Activity-相应Activity,(如Basic Activity). b. 配置Activity 填写Activity Name,Layout Name,Title,Package name等. 注意:Package name需填写项目包名称,如com.androidtest(初学,不知道对不对,请指正). c. 修改ac…
在知乎上有朋友问 Android 上能提高学习.工作效率的应用有哪些?我给他们的推荐获得了最多赞同.以后会不断完善更新此贴. Any.do :规划日程,各平台都有. Evernote:记笔记,各平台都有. OneNote:这个也不错,特别是文档功能很强大,微软有Office基因啊,但同步有点慢... Quora:问答SNS网站客户端 ,看问题学英语感觉不错 Pocket:稍候阅读软件,各平台都有,chrome有插件,自定义快捷键chrome上快速保存文章,Android上各App都可以分享到Pl…
四种启动模式 standard(默认) singleTop singleTast singleInstance standard(默认) 系统默认的启动模式. Android是使用返回栈来管理活动的,在standard模式下,每当启动一个新的活动,它就会在返回栈中入栈,并处于栈顶的位置. 对于使用standard模式的活动,系统不会在乎这个活动是否已经在返回栈中存在,而是每次启动活动都会创建该活动的一个新的实例. MainActivity.java: @Override protected vo…
本文转载自:http://blog.csdn.net/mu0206mu/article/details/7514559 在Android系统中修改android.mk使其同时编译rgb2565和rgb2888(向out/host/Linux-x86/bin/下新增加一个工具命令)                       修改对应的Android.mk文件使其在源码编译时能够同时编译出rgb2565和rgb2888,rgb2888的源码文件已有,其实实现很简单,这里只是将我在具体测试中不同模块…
Android之四种加载方式 (http://marshal.easymorse.com/archives/2950 图片) 在多Activity开发中,有可能是自己应用之间的Activity跳转,或者夹带其他应用的可复用Activity.可能会希望跳转到原来某个Activity实例,而不是产生大量重复的Activity. 这需要为Activity配置特定的加载模式,而不是使用默认的加载模式. 加载模式分类及在哪里配置 Activity有四种加载模式: standard singleTop si…
AsyncTask解析数据 AsyncTask主要用来更新UI线程,比较耗时的操作可以在AsyncTask中使用. AsyncTask是个抽象类,使用时需要继承这个类,然后调用execute()方法.注意继承时需要设定三个泛型Params,Progress和Result的类型,如AsyncTask<Void,Inetger,Void>: Params是指调用execute()方法时传入的参数类型和doInBackgound()的参数类型 Progress是指更新进度时传递的参数类型,即publ…
Fragment 用途:在一个Activity里切换界面,切换界面时只切换Fragment里面的内容 生命周期方法跟Activity一致,可以理解把其为就是一个Activity 定义布局文件作为Fragment的显示内容 //此方法返回的View就会被显示在Fragment上 @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { /…
------------------------------------------LinearLayout--------------------------------------------------- LinearLayout又称作线性布局,是一种非常常用的布局. 正如名字所描述的一样,这个布局会将它所包含的控件在线性方向上依次排列. <?xml version="1.0" encoding="utf-8"?> <!--水平布局-->…
Android三种基本的加载网络图片方式,包括普通加载网络方式.用ImageLoader加载图片.用Volley加载图片. 1. [代码]普通加载网络方式 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60…
http://www.cnblogs.com/oudi/archive/2012/03/22/2411509.html 最近在看android关于定位的方式,查了很多资料,也做了相关实验,在手机上做了测试,下面总结: 一共有三种定位方式,一种是GPS,一种是通过网络的方式,一种则是在基于基站的方式,但是,不管哪种方式,都需要开启网络或者GPS 首先添加权限 <uses-permission android:name="android.permission.ACCESS_COARSE_LOC…
ANDROID Porting系列二.配置一个新产品 详细说明 下面的步骤描述了如何配置新的移动设备和产品的makefile运行android. 1.         目录//vendor/创建一个公司目录   mkdir vendor/<company_name> 2.         创建一个目录下的公司与您在步骤1中创建产品目录.   mkdir vendor/<company_name>/products/ 3.         创建一个特定于产品的 makefile, 调…
一.通过动画实现 定义res/anim/loading.xml如下: View Row Code<?xml version="1.0" encoding="UTF-8"?><animation-list android:oneshot="false"xmlns:android="http://schemas.android.com/apk/res/android"><item android:du…
一个适用于Android平台的第三方和apache的非常多东西类似,仅仅是用于Android上 我在项目里用的是这个 https://github.com/loopj/android-async-http AsyncHttpClient  client = new AsyncHttpClient(); RequestParams params = new RequestParams(); params.put(JsonKey.JSON_K_MOBILE, "1526808"); par…
Android布局是应用界面开发的重要一环,在Android中,共有五种布局方式,分别是:LinearLayout (线性布局),FrameLayout(框架布局),AbsoluteLayout(绝对布局),RelativeLayout(相对布局),TableLayout(表格布局). 在windows下有预览功能,可以在xml中查看布局的样式,在linux中无. 一.LinearLayout 线性布局,这个东西,从外框上可以理解为一个div,他首先是一个一个从上往下罗列在屏幕上.每一个Line…