自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Flutter环境搭建(MAC)

Flutter安装指南官方文档地址:https://flutter.io/get-started/install/首先,下载Flutter的源码,按照官方建议,我们选择beta分支,如下所示:git clone -b beta https://github.com/flutter/flutter.git代码下载后,目录结构如下:flutter renyugang$ tree...

2019-05-10 10:48:47 346

原创 Binder总结

Binder简介Binder是Android系统进程通信的方式之一。我们都知道android系统是基于linux的,linux为了避免进程之间的干扰进程之间是隔离的,一个进程内又分为内核空间和用户空间。这个隔离也是分为两部分,进程间隔离和进程内的隔离。那既然存在隔离也就存在通信,进程间的通信就是IPC。用户空间和内核空间的通信就是系统调用。android系统是基于linux的,也需要解决进...

2019-05-09 16:26:42 258

原创 Android系统启动流程

一,android系统架构andorid系统架构从上到下分别有应用层、应用框架层、系统运行时库层、硬件抽象层、Linux内核层。 应用层:包括系统应用比如闹钟、日历等这些在内的以及非系统级别的应用都属于应用层。负责用户交互,也就是我们需要开发的东西。 应用框架层:这一层主要是为咱们开发人员提供用来开发应用程序的API,平常我们开发程序大部分都是调用这部分的API来进行...

2019-02-19 16:52:18 4180 3

原创 Activity相关面试题

1,Activity的生命周期 正常情况下生命周期:oncreate--onStart--onResume--onPause--onStop--onDestory 异常情况下:onSaveInstanceState-onPause-onStop-onDestory 重建后onCreate--onRestoreInstanceState 系统资源不足会回收低优先级的activ...

2018-12-21 10:47:47 4568

原创 HashMap内部实现原理

   HashMap的底层是基于数组+链接的一个复合数据结构,非同步的 允许null键值 继承于map接口来实现,通过put和get方法来进行数据的操作.数组被分为一个个的bucket.哈希值决定了键值对在数组中的位置.具有相同哈希值的键值对会组成链表,当链表长度超过阀值(8)的时候回触发树化,链表转换成红黑树.    HashMap有几个关键变量:1,initialCapacity 初始...

2018-10-12 16:11:20 729

原创 136、只出现一次的数字

给定一个非空整数数组,除了某个元素之出现一次以外,其余每个元素均出现两次。找出那个只出现一次的元素思路:通过异或 ^class Solution { public int singleNumber(int[] nums) { if(nums == null || nums.length<1){ throw new I...

2018-09-18 18:10:22 188

原创 Android性能优化

一款APP对于用户来说,是最先接触和感受到的,如果我们的UI交互和动画做出来用起来不是那么流畅自然,用户是能够感受到的,轻则影响使用欲望,重则卸载应用。所以对于UI性能的优化应该引起我们足够的重视。1,UI卡顿的原理    人类大脑与眼睛对于画面的连贯性感知是有一个界限的,比如我们看电影会觉得画面连贯的帧率为24fps,对于经常接触竞技游戏的同学应该也清楚60fps是保证游戏正常不卡顿的一个界限。...

2018-06-26 17:54:31 211

原创 面向接口理解

1,什么是面向接口?    首先面向接口是面向对象思想的一部分,在整个系统结构中来分清层次和依赖关系,每一层不是直接对上一层提供服务支持也就是不直接实例化在上一层。而是仅仅向上一层接口功能暴露出去,上一层对下一层仅仅是接口的依赖而不是依赖具体的类。2,面向接口的好处?    首先提供的系统的灵活性,当下层改变的时候,只要接口和接口功能不变,则上一层不需要改变。还有就是不同层次的开发人员可以并行开发...

2018-04-25 13:28:07 2143

原创 华为手机弹出Popupwindow后,切换Activity短暂黑屏

从AActivity跳转到BActivity,BActivity里弹出自定义popupWindow,返回到AActivity的过程中,有短暂黑屏,刚开始以为是加载数据过多的原因,后来发现只要弹出PopupWiindow,就有黑屏。在popupWindow中弹出时,设置透明度为0.5,消失时,设置透明度为1解决办法: 在设置透明度的方法中,加入:/** * 设置添加屏幕的背景透

2018-01-31 14:29:21 457

转载 2017年Android开源项目及库汇总

github排名: https://github.com/trending ,github搜索: https://github.com/searchUIAwesome-MaterialDesign - MaterialDesignCenter改名为Awesome-MaterialDesign,优化了布局,新增了不少库。awesome-android-ui - u

2017-10-30 18:01:21 1101

原创 获取sha1 android studio

因为最近项目要加高德地图,需要获取sha1配置key,都忘记怎么获取了,百度了记录一下(下面是最简单不容易出错的方式)1,cmd切换到jdk的bin目录keytool.exe  -list -keystore ***** (****代表签名文件)2,接着提示输入密钥库口令,直接输入回车就可以了。可能不会显示到命令行3,口令正确,copy就行了!!!!

2017-09-15 14:44:28 263

原创 Android Studio开启Lambda

Java8的一大新特性就是较为健全的Lambda表达式,在android studio2.1之前开启是比较麻烦的。需要在gradle中配置几行代码,引用Github上的资源,才能使用Lamda表达式apply plugin: 'com.android.application'android { compileSdkVersion 23buildToolsVersion "23.0.2

2017-09-12 15:27:36 406

原创 Android Studio中引用Module依赖注意事项

我们在开发过程中常常会有一些模块需要作为依赖,或者将部分功能单独抽出作为一个library使用,在Android studio中,我们可以通过建立多个module进行实现。首先我们看看作为普通module和作为library的module的区别, 主要在build.gradle中app的apply plugin: 'com.android.application'defaultC

2017-09-12 14:37:44 2430

转载 高德地图获取sha1

如何获取sha1码?在eclipse中获取sha1码如果你是用的eclipse在开发,那么获取sha1码还是比较简单的。直接:winows -> preferance ->Android -> build。(我的eclipse卸载了,所以借用网友的图)eclipse中获取在Android Studio中获取sha1码最近开发,在集成高德地图的时候用到了sha

2017-08-04 15:43:06 723

原创 Popupwindow封装

1,  废话不多说,先来介绍一下什么是Popupwindow?    (1)Google官方文档给出的介绍:popup window 是一个出现在当前Activity顶层的悬浮容器,可以用来展示任意的View。    (2)常用API:构造函数public PopupWindow(int width, int height) public PopupWindow(View

2017-07-11 09:49:25 653

原创 BaseActivity封装固定控件

最近公司项目调接口,业务比较忙没有时间写东西了,今天新给了一个需求要求在没一个activity中都要有一个floatingactionButton。我就改了之前写的BaseActivity,下面基本说一下我的思路。1,如何在baseActivity中固定一个控件呢?  因为我们的控件必须依赖于一个继承自viewGroup的布局存在。所以一开始我的想法是在BaseAcitivity中

2017-06-07 18:15:19 737

原创 Error:Execution failed for task ':app:transformResourcesWithMergeJavaResForDebug'.

今天在gitHup上fork了一个demo借鉴学习,再编译运行的时候遇到了下面的错误:Error:Execution failed for task ':app:transformResourcesWithMergeJavaResForDebug'.> com.android.build.api.transform.TransformException: com.android

2017-03-13 17:17:44 382

原创 android项目红叹号和运行安装失败

1,android项目红叹号在工作中经常会遇到,相信大部分人都知道怎么解决。我在这里还是赘述一下把。        出现红叹号一般有两个原因:            (1)常见的是项目文件出现错误,比如xml文件有误,可以project-clean一下,一般就能找到问题所在。              (2)还有就是包路径错误,一般是我们引用的jar包或者类库路径不对导致的

2017-02-10 15:24:20 353

原创 Toolbar+DrawerLayout+recyclerVIew上下刷新加载问题记录

Toolbar+DrawerLayout+recyclerVIew+AppBarLayout+CollapsingToolbarLayout

2017-02-09 14:20:27 732

原创 butter knife详解和使用

1,butter knife 是什么? 先上一发官方文档的介绍:Annotate fields with @BindView and a view ID for Butter Knife to find and automatically cast the corresponding view in your layout.大概意思就是:使用butterknife和viewId字段在布局中

2017-01-13 09:38:59 2138

原创 Andoird旋转动画

今天在工作中遇到一个需求是一个登录页面在登录加载过程中,让上方的圆角图片旋转成一个类似进度条的效果给图片设置一个旋转动画在anim文件夹中,代码如下:<rotate xmlns:android="http://schemas.android.com/apk/res/android" android:duration="800" android:fromDegrees="0"

2016-11-25 16:17:15 291

原创 Android布局之ViewStub

废话不多说,先来看看官方文档说明:A ViewStub is an invisible, zero-sized View that can be used to lazily inflate layout resources at runtime. When a ViewStub is made visible, or wheninflate() is invoked, the layou

2016-10-27 16:57:14 664 2

原创 设计模式之面向对象的原则

近期,公司项目成功上线,进入维护更新阶段。比较清闲,对于期间需求和BUG处理时候,真的很头疼。让我萌生并坚定了要开始接触学习设计模式和应用到编码中的想法。好评了,废话不多说了。首先,我们为什么要学习设计模式?    实际上我们在工作学习中已经接触到了这些模式,只是可能我们没有一个具体的概念化。这些设计模式简而言之,就是前人总结的能够提高我们代码的健壮性、稳定性和可扩展性。在面向对象语言中,我们

2016-10-26 16:35:49 366

转载 HTTTPS是如何工作的

最近在看到这么一篇讲解Https原理的文章,语言精炼,通俗易懂,特地将其翻译下,原文在此how does https work加密算法简介正文开始之前,我先来解释简单的解释下对称加密和非对称加密.对称加密采用对称密码编码技术,也就是编码和解码采用相同描述字符,即加密和解密使用相同的密钥,实现这种加密技术的算法称对称加密算法。对称加密使用简单,密钥较短,加密和解密过程较快,耗时短,常

2016-10-12 11:37:53 3705

原创 implements serializable实现序列化接口有什么作用?

首先,序列化是干什么的,有什么作用,什么情况下会用到?1,系列化是干什么的?      序列化简单来说就保存对象在内存中的状态也可以说是实例化变量。这是Java提供的用来保存 Object state,一种保存对象状态的机制。只有实现了serializable接口的类的对象才能被实例化。2,什么情况下会用到序列化?     1,当你想把内存中的对象写入到硬盘时   

2016-09-28 15:31:45 14162

原创 Error:Failed to resolve: com.android.databinding:library:1.1

今天从githup上下了一个开源项目material animations,这个项目是非常棒,演示了View的平移、缩放动画、activity进入和退出动画,界面间元素共享。       但是在as中打开后,报了一个databinding的错误,纠结了好一段原来是将grandle版本更改为2.0就可以了,可能是不兼容的问题。buildscript {repositories {jc

2016-09-07 16:41:23 4728

原创 Activity生命周期、启动模式和工作过程

自己进行的关于activity的概要总结

2016-07-20 23:27:05 652

原创 Android 新特性学习总结

写在前面:最近由于学习兴趣史无前例的高涨的,看到githup和各个网站的android的新特性,看起来确实很酷,一咬牙挤出时间也去看了文档和借鉴别人的学习经验拿来借鉴,写一些demo(ps:这样就都是我的了,哈哈整个世界都是朕的)1. 了解Material Design概念:融合卡片式,立体式,拟物化的设计风格,强调层次感,动画,阴影等元素Android UI样式风格发展:2.3版

2016-07-09 01:02:09 2184

转载 AndroidStudio 依赖 ButterKnife 出现的空指针异常

一 、 出现过程描述       之前一直在ButterKnife 7.x版本,今日将依赖的版本升级为'com.jakewharton:butterknife:8.0.1',结果项目 运行报错,提示空指针异常NullPointerException,依次查看了build.gradle  文件 ,写法比较正确二、 解决方法    决定去到JakeWharton 的GitHub主页,看

2016-07-07 13:04:13 400

原创 android基础总结(一)整体架构

android基础总结(一)整体架构* 首先,在这里做一下自我介绍,我是一名android开发工程师,从毕业到现在已经工作2年多了。最近,准备辞掉现在的工作换一个新的环境,有很多基础的理论知识还是需要从新过一遍,以前工作忙(给自己找个理由)老是说老找时间要开始写播客,但不是被一些杂事耽误就是被惰性拉到一边。这不准备要换工作环境(主要为了$),我要真正开始写了,哇呀呀!!!从一个只会点java基础软

2016-07-04 23:46:28 580

空空如也

空空如也

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

TA关注的人

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