Android系列
LQ-刘强
从事......
展开
-
RxPromisstion2.0的简单使用
只是简单如何使用的demo public class RxPromisstionActivity extends AppCompatActivity { private Button mBtnReadSD; private RxPermissions mRxPermission; /** * RxPromisstion : 适配android6...原创 2017-10-11 17:11:22 · 590 阅读 · 0 评论 -
Retrofit+RxJava+OkHttp的高层封装
(一)封装RetrofitManager public class RetrofitManager { //OkHttp-- 30秒内直接读缓存 private static final long HAVA_NET_MAX = 30; //30秒 有网超时时间 //OkHttp--设置链接与写入超时时间 private static final i...原创 2018-03-22 14:05:54 · 716 阅读 · 0 评论 -
RxJava的线程切换
在Android开发中,RxJava的线程切换是很重要的操作,那使用线程切换我们又要注意些什么呢,本篇教你学会如何流畅的使用RxJava在Android中的线程切换。那么废话这么多,就来看一看RxJava中的Scheduler的线程调度。先看最重要的两个概念:1.observeOn() :可以被用来多次去切换线程,它决定了在它下面执行方法时所在的线程。2.subscribeOn():用...原创 2018-03-31 18:48:35 · 732 阅读 · 0 评论 -
自定义设置圆角大小的圆角按钮
【由于本人是第一次写博客,所以就直接上代码,不罗嗦!!!】 1.效果图(单机时可设置动画)2.属性 lq:roundSize="30" //设置圆角大小,默认是16lq:backgroud="@color/colorPrimary" //设置背景lq:text="圆角按钮2" //设...原创 2017-08-24 08:20:22 · 749 阅读 · 0 评论 -
两行代码搞定底部菜单栏的实现
【只需要有任意颜色(除了白色,透明色)的图片即可,点击与滑动为你自动实现】1.效果图 2.布局代码中的使用 <?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" ...原创 2017-08-24 09:51:30 · 2550 阅读 · 0 评论 -
自定义控件之(上下左右)侧滑页面
1.效果图(还有顶部及底部就省略)2.代码实现 1)java代码/** * Created by 刘强lq * * 自定义控件 上下左右滑出界面 */public class SliderPager extends FrameLayout { //右边侧滑 public static final int MODEL_RIGHT = 0; ...原创 2017-08-26 11:54:43 · 382 阅读 · 0 评论 -
RxLifecycle2.0的简单使用
直接上代码 public class RxLifeActivity extends RxAppCompatActivity { /** * RxLifecycle使用:在当前activity中继承RxAppCompatActivity * <p> * ActivityEvent:手动设置指定在什么时候取消订阅,下列枚举 ...原创 2017-10-11 17:08:11 · 3446 阅读 · 1 评论 -
RxBinding2.0的使用
简单介绍RxBinding2.0的使用,老套路,直接上代码 public class RxBindActivity extends AppCompatActivity { private TextView mTextView; private Button mButton; private ListView mListView; private Edit...原创 2017-10-11 17:00:45 · 1037 阅读 · 0 评论 -
Android性能优化之冷启动优化
1.什么是冷启动[启动时间比较长]:在应用启动前,系统没有该应用的任何进程信息。2.什么是热启动[启动时间比较短] :用户按了返回键,又马上重新启动了此应用。3.冷启动会走application这个类,热启动就不会走application这个类4.冷启动流程5.冷启动优化 1)减少第一个界面onCreate()方法的工作量。 2)不要让Application参与业务的操作。 3)不要在...原创 2018-04-14 19:02:34 · 463 阅读 · 0 评论 -
Android性能优化之handler的正确使用与解析
1.什么是Handler 是Android消息机制的上层接口,是一种更新ui的机制。 (Android是线程不安全的,所以能在子线程更新ui,只能执行耗时操作 ,所以要通过handler发送消息更新)2.Handler实现原理ThreadLocal:通过不同的线程访问同一个ThreadLocal,无论是ThreadLocal的get或set方法,它们对ThreadLocal的读写操作都仅...原创 2018-04-14 18:50:02 · 4052 阅读 · 0 评论 -
Android性能优化之webView的正确使用
1. WebView的内存泄露问题解决: 要在Activity的OnDestory方法内先调用webView的父容器remove掉WebView控件,再调用WebView的removeAllViews方法,最后再调用WebView的onDestorty方法,才能真正的移除WebView。或者置于独立进程中,当使用完webview后,直接干掉此进程。或者动态添加webView,对添加的webView...原创 2018-04-14 18:33:42 · 885 阅读 · 0 评论 -
MQTTv3的封装
请先关联依赖 'org.eclipse.paho:org.eclipse.paho.client.mqttv3:1.2.0'(一).封装MQTTv3的使用class TestMqttV3{ public static void main(String[] args){ //设置配置信息 MqttV3 mqttV3 = new MqttV3.Builder(...原创 2018-03-24 16:10:51 · 4598 阅读 · 0 评论 -
FragmentStatePagerAdapter与FragmentPagerAdapter的区别与分析
1.FragmentPagerAdapter:在每次切换页面的时候,是将fragment进行分离,适合页面较少的fragment使用以保存一些内存,对系统内存不会有多大影响。2.FragmentStatePagerAdapter:在每次切换页面的时候,是将fragment进行回收,适合页面较多的fragment使用,这样就不会消耗更多的内存。所以,看源码中的destoryItem的方法,就可以看出...原创 2018-04-02 18:43:54 · 3652 阅读 · 0 评论 -
Android与Html混合开发移动应用
本篇主要采用android自带控件WebView去加载本地已做好适配android移动端的html页面,同时主要简述两大点,JS调用android原生方法以及android原生API调用JS。本篇示例的界面基本采用html与js编写,部分使用js与java互调,先看效果图:使用html实现了一个正常的android应用模板,有标题栏,底部菜单栏以及侧滑栏。实现的js与android...原创 2018-08-09 11:06:08 · 1895 阅读 · 0 评论 -
Android进程保活详解
什么是Android进程保活?进程保活的目的是什么?其实就一句话:“当然都希望自己APP的进程尽量的不被杀死”;1)进程的划分与优先级1.1. 前台进程 —— Foreground process用户当前操作所必需的进程。通常在任意给定时间前台进程都为数不多。只有在内存不足以支持它们同时继续运行这一万不得已的情况下,系统才会终止它们。A. 拥有用户正在交互的 Activity(已调用 onResu...原创 2018-07-13 10:52:57 · 633 阅读 · 0 评论 -
Android性能优化之UI卡顿与布局优化
其实都知道,在android中造成UI卡顿(如果android不能在16ms内完成对界面的渲染,就会出现卡顿)的一部分原因是布局问题。那么如何去优化布局,解决UI卡顿呢; 1.UI卡顿产生原因:1).在UI线程中做了轻微的耗时操作; 2).布局Layout过于复杂,无法在16ms内完成渲染; ...原创 2018-06-05 17:22:43 · 821 阅读 · 0 评论 -
Android内存管理
建议在看Android内存管理之前,可以先看一下Java系列中的Java内存管理这篇文章。1.分配机制弹性的分配,即一开始不会给每个进程分配太多的内存,但随着app的不断运行,app的内存容量需求越来越大,Android内存会给此app分发额外的内存,尽量保证多个进程存活在内存当中,当下一次再次启动此app的时候,系统就不会重新创建该进程,直接恢复已有的进程。这样就提高了app启动的时间,优化用户...原创 2018-05-07 10:02:12 · 368 阅读 · 0 评论 -
OOM异常
在Android中OOM异常是比较常见的异常之一,那么OOM异常是如何产生的呢?又是如何解决的呢?Android中产生OOM异常的常见场景又有那些呢?1.首先了解产生OOM异常的一个分析,主要从三个方面来诠释。1)内存溢出:指程序在申请内存时,没有足够的空间供其使用(这个是最主要的);2)内存泄露:指程序分配出去的内存不再使用,无法进行回收;3)内存抖动:指程序短时间内大量创建对象,然后回收的对象...原创 2018-05-07 09:45:12 · 2447 阅读 · 0 评论 -
ANR异常总结
在Android中ANR异常是初学者经常发生的一个异常,这个异常也是Android独有的一个特性了,那么如何解决ANR异常呢,那么就得先了解什么是ANR异常,ANR异常是如何产生的,再去解决ANR异常。1.什么是ANR异常?ANR异常是指应用程序未响应,Android系统对于一些事件需要在一定的时间范围内完成,如果超过预定时间能未能得到有效响应或者响应时间过长,都会造成ANR。2.那么哪些场景会造...原创 2018-05-05 19:26:26 · 3484 阅读 · 0 评论 -
APK热修复框架Andfix的使用
(一)第一步下载热修复补丁的工具apkpatch(二)使用流程1.0)关联 compile 'com.alipay.euler:andfix:0.5.0@aar'1.1)在项目中写相关的业务逻辑 {主要application文件+更新界面的更新逻辑(添加补丁的文件fix.apatch)}2.0)使用apkpatch文件,将 老版本apk与新版本apk以及打包apk的钥匙复制到apkpatch的文件...原创 2018-03-28 18:49:04 · 627 阅读 · 0 评论 -
AndroidStudio打包Library项目成jar包
1)新建android Library项目2)在android Library项目中的build.gradle文件中的最下面复制一下代码: task makeJar(type: Copy) { //删除存在的 delete 'build/libs/lqhttp-2.1.5.jar' //设置拷贝的文件 from('build/intermediates/bundles...原创 2018-03-28 18:38:02 · 2597 阅读 · 2 评论