自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(117)
  • 收藏
  • 关注

原创 NDK开发

现在在android开发中主要使用cmake进行ndk的开发,所以不会再自己创建头文件了。下面我将通过一个例子进行讲解: java代码:public class MegfaceAttributeQuality extends MegfaceAttribute { static { System.loadLibrary("megface-android"); }...

2018-08-28 16:35:00 259

转载 屏幕适配

屏幕适配是一个老生常谈的问题,最近微信公众号有几篇文章写的不错,这里总结一下:获取屏幕参数像素 - px一个小黑点就是像素。尺寸屏幕的对角线的长度。分辨率整个屏幕一共有多少个点,也就是像素。像素密度 - dpi每英寸中的像素数。假如设备分辨率为320*240,屏幕长2英寸宽1.5英寸,dpi=320/2 = 240/1.5 =160。对应于DisplayMe...

2018-08-27 16:24:02 257

原创 算法学习

最近又复习了一下算法,发现不长写容易忘啊。在此记一下:排序冒泡排序 private static void sort(int [] arr){ for (int i=0;i<arr.length-1;i++){ for(int j=0;j<arr.length-1-i;j++){ if(arr[j]...

2018-08-27 15:54:47 162

原创 Retrofit2源码分析

Retrofit简述Retrofit是对OkHttp网络请求的封装,利用注解使其转变为面向接口编程,利用动态代理将接口转变成具体实例,再利用反射和注解遍历接口方法的各种网络请求参数,并对其封装和缓存,利用策略模式适配不同的请求平台,例如,android、rx-java等。使用工厂模式返回不同的网络请求call和数据转换器,在用回调执行器切换线程,使其在主线程中返回数据。几个概念...

2018-08-26 10:18:16 223

原创 VirtualAPK学习

Activity加载参考了鸿洋的博客: https://blog.csdn.net/lmj623565791/article/details/75000580 首先通过反射拿到了原本的Instrumentation对象,拿的过程是首先拿到ActivityThread,由于ActivityThread可以通过静态变量sCurrentActivityThread或者静态方法curre...

2018-08-20 16:55:12 566

原创 java并发

https://www.cnblogs.com/paddix/p/5381958.html

2018-08-17 16:15:54 143

原创 synchronized关键字,原理以及相关的锁

哈哈,这又是一篇读后感式的博客了!! 原文见:https://www.cnblogs.com/lcplcpjava/p/6858135.html https://blog.csdn.net/u013132758/article/details/80167995 synchronized关键字大家都不陌生,为保证多线程下资源的不被多个线程同时修改而制定的。...

2018-08-17 14:59:43 212

原创 图片加载的相关话题

一张大图如何加载才不会发生OOM这是面试官经常问的问题具体有两种策略 1.图片采样率缩放。 2.按区域加载按区域加载。 在说这两种策略之前需要先讲另一个问题,一张图片占多少内存,是由哪些因素决定的? 1.图片的宽高。 2.图片加载的模式。 3.图片的缩放比例。 一般认为图片的内存计算公式是这样的: 图片占用内存的大小 = 宽高单个像素占用的字节数 单个像素占用的字节数则是图片...

2018-08-16 14:57:33 124

转载 Service的启动过程和virtualApk的插件化方案

本文是笔记博客,主要参考了https://blog.csdn.net/u012124438/article/details/76382894 的内容,感觉很有意思,记录一下Service的启动过程Service是四大组件之一,主要运行在后台,其生命周期受AMS的控制, 下面主要是讲解binderService的启动过程。 binderService最终在ContextImpl中的...

2018-08-15 11:33:13 179

转载 Android应用程序资源管理器(Asset Manager)的创建过程分析

最近在看virtualApk框架,里面设计到了资源加载的内容,所以看了下老罗的博客,感觉老罗的博客分析的过于详细了,容易让人跑偏,所以在这里总结一下:应用程序的每一个Activity组件都关联有一个ContextImpl对象,这个ContextImpl对象就是用来描述Activity组件的运行上下文环境的。Activity组件是从Context类继承下来的,而ContextImpl同样是从Co...

2018-08-12 15:28:05 682

原创 Glide优势与特点

https://blog.csdn.net/u013240038/article/details/51474900

2018-06-29 18:50:57 983

原创 String StringBuffer 与StringBuilder的区别

·      String是不可变的(修改String时,不会在原有的内存地址修改,而是重新指向一个新对象),String用final修饰,不可继承,String本质上是个final的char[]数组,所以char[]数组的内存地址不会被修改,而且String 也没有对外暴露修改char[]数组的方法.不可变性可以保证线程安全以及字符串串常量池的实现.频繁的增删操作是不建议使用String的·  ...

2018-05-14 10:54:10 118

原创 虚拟机类加载机制

与许多在编译时期就进行连接工作的语言不同,java类型的加载、连接、初始化都是在运行期间完成的。类加载的时机 java类的生命周期包括::加载(Loading)、验证(Verification)、准备(Preparation)、解析(Resolution)、初始化(Initialization)、使用(Using)和卸载(Unloading)7个阶段。其中验证、准备、解析3个部分统称为连接(L

2017-09-23 22:53:03 302 1

原创 SearchView的使用说明

先上代码日后再仔细说明package com.lqr.materialdesigndemo;import android.app.Activity;import android.database.Cursor;import android.os.Bundle;import android.support.v7.widget.SearchView;import android.text.Tex

2017-06-19 14:57:40 444

原创 java虚拟机之垃圾收集器与内存分配策略

对象已死了?在堆里面存放着Java世界中几乎所有的对象实例,垃圾收集器在对堆进行回收前,第一件事情就是要确定这些对象之中哪些还“存活”着,哪些已经“死去”(即不可能再被任何途径使用的对象)。引用计数算法 给对象中添加一个引用计数器,每当有一个地方引用它时,计数器值就加1;当引用失效时,计数器值就减1;任何时刻计数器为0的对象就是不可能再被使用的。 引用计数算法实现比较简单而且高效但是无法

2017-06-12 18:29:20 271

原创 java虚拟机之Java内存区域与内存溢出异常

java内存区域java虚拟机将内存划分为多个不同的区域,各个区域有 不同的用途,有的区域是线程私有的(如,虚拟机栈、程序计数器、本地方法栈)有的区域是线程共有的(方法区、堆)。如下图所示: 下面分别介绍运行时数据区的各个部分:程序计数器 程序计数器(Program Counter Register)是一块较小的内存空间,它可以看作是当前线程所执行的字节码的行号指示器。 是线程私有的。j

2017-06-12 10:42:59 240

原创 Java虚拟机之高效并发

前沿最近看《深入理解java虚拟机》这本书感触颇深,所以专门写了这一系列的博客。java内存模型与线程java内存模型工作内存与住内存java内存模型的主要目的就是确定变量的访问规则,及在JVM中将变量存储到内存中和从内存中取出的底层细节,这里的变量包括实例字段、静态字段、数组中的元素。但不包括局部变量和方法的参数,因为后者是线程私有的不存在竞争问题。 java内存模型规定所有的变量

2017-06-10 18:06:01 1084 1

原创 Android中为什么主线程不会因为Looper.loop()里的死循环卡死?

https://www.zhihu.com/question/34652589/answer/59572566

2017-04-06 11:43:48 331

原创 adb命令安装apk

普通安装:adb install D:\Desktop\test.apk静默安装:adb push D:\Desktop\test.apk /sdcard/test.apk //复制安装包到手机 adb shell pm install -f /sdcard/test.apk //使用PackageManager安装 adb shell rm /sdcard/test.apk //从手机删除安装

2017-02-07 16:53:43 666 1

原创 优秀的链接

pull解析: http://284772894.iteye.com/blog/2000403

2016-08-06 14:55:12 322

原创 android.mk

http://www.cnblogs.com/leaven/archive/2011/01/25/1944688.html

2016-07-27 17:54:33 81

原创 GreenDao的使用

官网:http://greenrobot.org/greendao/ 基本配置:http://www.open-open.com/lib/view/open1438065400878.html增删改查: http://www.it165.net/pro/html/201401/9026.htmlhttp://blog.csdn.net/xushuaic/article/details/24496

2016-07-09 19:05:59 388 1

原创 Android应用截图方法

在Android应用开发过程中,可能会遇到需要对整个界面或者某一部分进行截图的需求。Android中对View的截图也有很多中方式: 使用DrawingCache 直接调用View.draw DrawingCache方法: 如果使用DrawingCache,则对要截图的View有一个要求:View本身已经显示在界面上。如果View没有添加到界面上或者没有显示(绘制)过,则buildDrawi

2016-06-13 09:41:41 382

原创 微信支付

微信支付的调用是比较简单的,总体来说是这样的: 在微信官网上申请权限:主要是三个参数: //appid 微信分配的公众账号ID public static final String APP_ID =""; //商户号 微信分配的公众账号ID public static final String MCH_ID ="";// API密钥,在商户平台设置 public stati

2016-05-24 17:26:34 433

原创 Snackbar的使用

使用Snackbar要导入com.android.support:design库。compile ‘com.android.support:design:22.2.0’Snackbar像Toast差不多。反正你看了也不会点赞,。。。直接上代码import android.app.Activity;import android.graphics.Color;import android.os.Bu

2016-05-10 15:22:04 2109

原创 ViewPager的动画切换效果

见博客: http://blog.csdn.net/lmj623565791/article/details/51339751

2016-05-09 14:53:42 255

原创 Object与String的切换

Object必须是序列化的对象// 将list转为字符串类型数据 public static String list2String(List<ShopcarBean> list) throws IOException { // 实例化一个ByteArrayOutputStream对象,用来装载压缩后的字节文件 ByteArrayOutputStream bao

2016-05-03 13:48:35 346

原创 水平ListView

package com.example.horizontallistview;import java.util.LinkedList;import java.util.Queue;import android.content.Context;import android.database.DataSetObserver;import android.graphics.Rect;import

2016-05-03 09:40:45 394

原创 购物车的动画

步骤: 1)建立一个动画层private ViewGroup createAnimLayout() { ViewGroup rootView = (ViewGroup) this.getWindow().getDecorView(); LinearLayout animLayout = new LinearLayout(this); LinearLa

2016-04-18 11:17:25 2213

原创 热门搜索词汇的呈现的自定义控件

package com.small.view;import java.util.ArrayList;import java.util.List;import android.annotation.SuppressLint;import android.content.Context;import android.util.AttributeSet;import android.util.Di

2016-03-29 15:19:24 406

原创 Android DiskLruCache完全解析,硬盘缓存的最佳方案

http://blog.csdn.net/guolin_blog/article/details/28863651

2016-03-23 11:35:39 266

转载 Android清除本地数据缓存代码

主要功能清除内/外缓存,清除数据库,清除sharedPreference,清除files和清除自定义目录/* * 文 件 名: DataCleanManager.java * 描 述: 主要功能有清除内/外缓存,清除数据库,清除sharedPreference,清除files和清除自定义目录 */import java.io.File;import android.content.

2016-03-23 10:43:03 265

原创 测量View宽度和高度

原文地址:http://www.2cto.com/kf/201410/341592.html 注意:原文的第一种方法是不能测量match_parent类型的宽度和高度的下面这种方法是可以得,所以推荐使用这种方法。ViewTreeObserver vto = imageView.getViewTreeObserver(); vto.addOnGlobalLayoutListen

2016-03-02 10:33:27 814

原创 按键为波纹效果

原文的地址:http://blog.csdn.net/singwhatiwanna/article/details/42614953Android的坐标的获得int[] location = new int[2] ;view.getLocationInWindow(location); //获取在当前窗口内的绝对坐标view.getLocationOnScreen(location);//获取

2016-02-26 14:37:39 448

原创 ShapeDrawable画圆形的头像

package com.example.administrator.woyunying.activity;import android.annotation.TargetApi;import android.app.Activity;import android.graphics.Paint;import android.graphics.RectF;import android.graph

2016-02-24 17:52:02 1468

原创 常见问题

assets的文件夹在main目录下。

2016-02-24 15:39:45 367

原创 RecyclerView的使用

RecyclerView的基本知识适配器示例代码:public class GalleryAdapter extends RecyclerView.Adapter<GalleryAdapter.ViewHolder> { private LayoutInflater mInflater; private List<Integer> mDatas;

2016-01-22 17:29:01 346

转载 Android 百分比布局库(percent-support-lib) 解析与扩展

注本文转载自:http://blog.csdn.net/lmj623565791/article/details/46695347; 这个库提供了:两种布局供大家使用:PercentRelativeLayout、PercentFrameLayout,通过名字就可以看出,这是继承自FrameLayout和RelativeLayout两个容器类;支持的属性有:layout_widthPercent、l

2016-01-19 16:14:17 529

原创 Android事件分发

见大神博客: http://www.cnblogs.com/sunzn/archive/2013/05/10/3064129.html手势识别与点击事件见博客: http://www.2cto.com/kf/201504/388625.html

2016-01-19 14:33:58 257

原创 Fragment ViewPager的例子代码

ViewPager保存状态的。MyViewPager:package com.example.mypopuwindow;import android.app.Activity;import android.app.ActivityManager;import android.net.Uri;import android.os.Bundle;import android.support.v4.

2016-01-15 16:25:40 384

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除