android
renxhui
android 开发工程师
展开
-
Android 遇到奇怪的bug
android studio 无法下载插件File->Settings->Apparence & Behavior->System Settings->Updates->use secure connnection 勾去掉原创 2018-09-27 17:04:08 · 298 阅读 · 0 评论 -
Android Service详解
service的star和bind有什么区别Start启动的service,service有独立的生命周期,不依赖该组件; 多次调用start方法会重复调用onStartCommand方法,start启动的service必须通过stopService或者stopself来停止service(intentService会自动调用stopself方法)多次调用Bind方法只会调用一次onBi...原创 2018-07-12 18:10:18 · 373 阅读 · 0 评论 -
Android Activity启动模式和栈管理
Acticity的标准生命周期首先activity 的基本的生命周期 顺序排列 (1)onCreate() : 表示activity 正在被创建,在这个方法中我么可以做一些初始化操作(2)onRestart () : 表示activity 正在重新被启动 , 第一次启动activity不会调用,当activity从不可见变为可见是调用,这种一般是用户行为导致,比如按home键或者打...原创 2018-07-12 18:01:07 · 1890 阅读 · 0 评论 -
Android 动画详解
动画的分类Android 动画可以分别为三种,View动画,帧动画,属性动画。其实帧动画也属于View动画的一种,只不过他的表现形式不同而已,View动画通过对场景里的对象不断的做图像变换(平移,缩放,旋转,透明度)从而产生动画效果,他是一种渐进式动画,并且View动画支持自定义,帧动画通过顺序播放一系列图片从而产生动画效果,属性动画通过动态的改变属性,来达到动画的目的。View动画(...原创 2018-07-16 19:09:41 · 428 阅读 · 0 评论 -
Android Bitmap优化
概述在日常开发中我们经常遇到加载图片报出oom的错误,我们要解决这个问题,首先要明白oom代表out of memory 内存溢出,因为手机内存有限,分给每个应用的内存有限,所以要解决这个问题就是要解决图片占用内存问题 android 中图片是以bitmap的形式存在的,那么bitmap中所占的内存,直接影响到了是否oom,我们了解一下bitmap的占用内存的计算方法 图片的长度 * 图片...原创 2018-07-10 10:10:10 · 3183 阅读 · 0 评论 -
Android 屏幕设配
定义使某一元素在Android 不同尺寸,不同分辨率的手机,显示相同的效果基本概念屏幕尺寸含义:手机对角线的物理尺寸 单位:inch(英寸),1英寸=2.45cmAndroid常用的尺寸 5寸,5.5寸,6寸屏幕分辨率含义:屏幕横向纵向上,像素点数的总和一般描述为屏幕 宽*高=A*B;含义:屏幕在横向方向(宽度)上有A个像素点,在纵向方向(高度)上有B个...原创 2018-05-21 17:51:40 · 321 阅读 · 0 评论 -
Android 广播
定义广播是一个全局的监听器,属于Android的四大组件之一Android 广播分为俩个角色,广播接收者,广播发送者实现原理Android 中的广播采用了设计模式中的观察者模式,基于事件的发布/订阅的模型,因此Android 广播把发送者和接受这解耦,使得系统方便集成,更易扩展模型讲解模型中有三个角色消息订阅者(广播接收者)消息发布者(广播发布者)消息中心(AMS 即 Act...原创 2019-07-09 11:06:21 · 187 阅读 · 0 评论 -
Android ContentProvider详解
前言ContentProvide是四大组件之一,说明他是很重要的,虽然项目中不经常使用,但是还是需要学一下的什么是ContentProviderContentProvider为不同的应用之间实现数据共享,提供统一的接口,也就是说ContentProvider可以实现进程间的数据共享,实现跨进程通信为什么用ContentProviderContentProvider提供了对底层数据存储方...原创 2019-07-10 11:44:41 · 6581 阅读 · 0 评论 -
Android Studio3.0 Memory Profiler检测内存泄露
简介Memory Profiler是Android Profile中的一个组件,Android Profile是Android Studio 3.0 替换之前的Android Monitor工具的,主要用来观察内存,网络,cpu,今天主要介绍Memory Profiler,他可以让你观察出内存抖动和内存泄露如何进入Memory ProfilerMemory Profiler主面板介绍...原创 2019-08-28 17:38:46 · 1368 阅读 · 0 评论 -
Android Camera详解
概述Android提供了俩种使用相机的方式一种是直接通过Intent调用系统相机组件,这种方法快速方便,适用于直接获取照片的场景另一种是使用相机Api来自定义相机,这种方法用于需要定制相机界面或开发相机特殊工能的场景相机中的关键API**Camera类:**最主要的类用于管理和操作camera资源,它提供了完整的相机底层接口,他的主要方法如下Camera类的API解释...原创 2019-08-12 17:01:39 · 1781 阅读 · 0 评论 -
Android View系列(一):View的基础知识
View的位置参数View的位置主要由他的四个顶点来确定,分别对应View的四个属性,left左上角横坐标,top左上角纵坐标,right右下角横坐标,bottom右下角纵坐标,这些坐标都是相对于父容器来说的,因此它是一种相对坐标,Android中x,y轴的正方向是右下,如图:如何获取这些变量? int left = button.getLeft(); int righ...原创 2019-07-29 16:08:35 · 3180 阅读 · 0 评论 -
Android IPC系列(一):AIDL使用详解
概述AIDL可以实现进程间的通信,由于每个进程都是运行在独立的空间,不同的进程想要交互需要借助一些特殊的方式,AIDL就是其中的一种,AIDL是一种模板,因为实际交互过程中,并不是AIDL起的作用,具体会在之后源码分析解释,AIDL的作用是为了避免重复编写代码而出现的一个模板语法AIDL的语法十分简单,与Java语言基本保持一致,需要记住的规则有以下几点:AIDL文件以 .aidl 为...原创 2019-07-24 15:22:52 · 246 阅读 · 0 评论 -
Android 6.0 运行时权限
概述Android 6.0 为了保护用户的隐私,Google把权限分为了两类正常权限:这类权限一般不涉及用户隐私,不需要用户进行授权,比如,访问网络危险权限:一般是涉及到用户隐私的,比如,访问sdcard,访问通讯录等正常权限ACCESS_LOCATION_EXTRA_COMMANDSACCESS_NETWORK_STATEACCESS_NOTIFICAT...原创 2019-07-12 14:47:36 · 163 阅读 · 0 评论 -
Android adb详解
基本用法命令语法adb [-d|-e|-s <serialNumber>] <command>如果只有一个设备/模拟器连接时,可以省略掉 [-d|-e|-s < serialNumber>] 这一部分,直接使用 adb < command>。为命令指定目标设备如果有多个设备/模拟器连接,则需要为命令指定目标设备。参数含义...原创 2019-07-16 11:44:54 · 1757 阅读 · 0 评论 -
Android OkHttp3 基本使用
OkHttp的优点支持HTTP2/SPDY(SPDY是Google开发的基于TCP的传输层协议,用以最小化网络延迟,提升网络速度,优化用户的网络使用体验。)socket自动选择最好路线,并支持自动重连,拥有自动维护的socket连接池,减少3 握手次数,减少了请求延迟,共享Socket,减少对服务器的请求次数。基于Headers的缓存策略减少重复的网络请求。拥有Interceptors轻...原创 2019-07-18 14:21:13 · 830 阅读 · 1 评论 -
Android Fragment 详解
设计原理Android 在 Android 3.0(API 级别 11)中引入了片段,主要是为了给大屏幕(如平板电脑)上更加动态和灵活的 UI 设计提供支持。由于平板电脑的屏幕比手机屏幕大得多,因此可用于组合和交换 UI 组件的空间更大。利用片段实现此类设计时,您无需管理对视图层次结构的复杂更改。 通过将 Activity 布局分成片段,您可以在运行时修改 Activity 的外观,并在由 Ac...原创 2019-07-15 17:23:23 · 278 阅读 · 0 评论 -
Android Sqlite数据库详解
什么是SqliteAndroid自带的嵌入式数据库,可使用Sql语言怎么使用Sqlite通过SQLiteOpenHelper类来管理数据库SQLiteOpenHelper 的常用方法方法名方法介绍getWritableDatabase()创建 or 打开 可读/写的数据库(通过 返回的SQLiteDatabase对象 进行操作)getReadableData...原创 2019-07-11 11:29:51 · 6676 阅读 · 1 评论 -
Linux 常用命令
ls 遍利当前文件夹下的所有文件(不包括隐藏文件) pwd 当前文件夹路径 cd 切换路径 touch 创建文件 mkdir 创建文件夹 clear 清除屏幕 ls -a 显示所有文件(包括隐藏文件) ls -l 列表显示所有文件 ls -l -h 列表显示合适的单位 ls -la == ll 命令 --help 显示该命令怎么使用 tab 自动补全 俩次ta...原创 2018-04-24 10:31:01 · 175 阅读 · 0 评论 -
git基本命令大全
转载请注明本文出自 renxhui 的博客(http://blog.csdn.net/qq_34760508/article/details/70146189),请尊重他人的辛勤劳动成果,谢谢!初始化一个Git仓库,使用git init命令。添加文件到Git仓库,分两步:第一步,使用命令git add &amp;lt;name&amp;gt;,注意,可反复多次使用,添加多个文件;第二步,使用命令git commit -m &amp;quot;提原创 2017-04-24 10:08:09 · 427 阅读 · 0 评论 -
Android 理解startActivityForResult
1、startActivityForResult的使用场景是什么?onActivityResult回调里面的resultCode和requestCode含义是什么?当第一个Activity开启第二个Activity而且需要第二个Activity有finish()和back操作时,往回传数据的时候,就需要用到startActivityForResult,有俩个参数第一个intent,传递数据,第二个r原创 2018-01-05 10:51:29 · 406 阅读 · 0 评论 -
Android Parcelable和Serializable
1、Parcelable和Serializable有什么用,它们有什么差别?Parcelable和Serializable可以完成对象的序列化,当我们需要用intent和Binder传输数据时,就需要用到Parceable和Serializable,或者我们需要吧对象持久化到设备上的时候,或者通过网络传输到其他客户端,这个时候需要Serializable来完成对象的持久化Parcelable比Ser原创 2018-01-03 17:09:49 · 239 阅读 · 0 评论 -
Android 如何在onCreate中拿到View的宽度和高度
1、 View的getWidth()和getMeasuredWidth()有什么区别吗? 我们先看一下 getMeasuredWidth()的源码 public final int getMeasuredWidth() { return mMeasuredWidth & MEASURED_SIZE_MASK; }查找一下mMeasuredWidth 在那里赋的值 priv原创 2017-12-19 17:12:39 · 1106 阅读 · 0 评论 -
Android 性能优化
性能优化我们可以分为4个方面优化 如下图:卡顿优化我们先来了解一个概念:FPS ,FPS表示每秒传递的帧数,在理想情况下,60FPS就能感觉到不卡,这就意味着每个绘制时长大约在16ms,但Android系统很有可能没有办法及时完成那些复杂页面的渲染操作,Android 系统每隔16ms发出VSINC信号,出发对UI进行渲染,如果每次渲染都成功,就可以达到流畅画面所需的60FPS,如...原创 2017-09-21 15:38:29 · 255 阅读 · 0 评论 -
Android TextView加载带有多张图片的HTML,并且解决图片造成的OOM
版权声明:本文为博主原创文章,未经博主允许不得转载。转载请注明本文出自 renxhui 的博客(http://blog.csdn.net/qq_34760508/article/details/70146189),请尊重他人的辛勤劳动成果,谢谢!相信大家都有过需求需要加载从后台返回的部分HTML代码到我们的Android手机上需求,现有的android 原生控件有WebView 和 Tex原创 2017-04-12 18:46:32 · 4234 阅读 · 0 评论