4 CrazyMo_

尚未进行身份认证

最美不过,心中有梦,身旁有你!

等级
博文 220
排名 5k+

Android进阶——性能优化之进程提权与拉活原理及手段完全解析(二)

引言上一篇文章Android进阶——性能优化之进程保活原理及手段完全解析(一)总结了Android进程和线程的相关知识,主要介绍了几种提升进程优先级的手段,通常仅仅是提高优先级只能让你的进程存活时间久一点,但是真正的被杀死之后就不会自动拉活的,如果你的进程需要尽可能存在后台还需要拉活措施,在被杀死之后一段时间之内自动拉活。(如非绝对的需求,还是少浪费点用户的资源吧)一、系统账户同步机制拉活手...

2019-06-10 10:01:26

Android 进阶——Android Studio 项目结构详细述及Gradle脚本语法android子节点buildTypes、productFlavors、variantFilt完全解析(二)

引言前面一篇文章Android进阶——AndroidStudio项目结构详细述及Gradle脚本语法完全解析(一)总结了下AndroidStudio中组织Android项目结构的形式,详细介绍了Project下几乎所有重要文件及目录的重要作用,而对于我们Android开发来说比较重要的是编译脚本的gradle.build文件,这篇文章就好好总结下关于如何解读、配置和编写正确的gradle...

2019-06-01 22:08:19

Android进阶——动画家族之视图动画、属性动画和过渡(转场)动画最全总结(一)

文章大纲引言一、视图动画ViewAnimation二、属性动画PropertyAnimation1、ValueAnimator2、ObjectAnimator2.1、ObjectAnimator的使用前提2.2、ObjectAnimator的使用ObjectAnimator的主要步骤3、AnimatorSet4、使用LayoutTransition在布局改变时使用属性动画5、使用属性动画用于构...

2019-05-20 00:14:22

Android NDK——实战演练之从零到零点八Android中借助mmap实现I/O(二)

引言前一篇文章Android进阶——从零到零点八真正详解存储映射mmap(一)总结了mmap相关基本原理用法,mmap在内核中的应用十分广泛,我们Android中的Binder本地代码也是使用了mmap的,这里只介绍通过JNI在Android中使用mmap实现I/O,希望不要造成mmap只能做I/O的错觉。一、传统I/O概述在Linux系统中把内存分为内核空间和用户空间,其中内核空间为...

2019-05-13 00:20:53

Android NDK——实战演练之从零到零点八真正详解存储映射mmap(一)

引言或许对于很多Android程序员来说,谈到I/O就以为只有一种Java中提供的传统标准文件I/O,殊不知其实内核还提供了另一种在一定程度上更高效的方式——mmap,事实上内核中进程间的通信很多地方都是通过mmap在两个进程间提供共享存储区,当然不仅仅是在内核层面,很多互联网App中也有使用mmap替代传统I/O,比如说微信开源的MMKV框架,它比SharedPreference更高效的原...

2019-05-12 17:24:26

Android进阶——借助远程服务AIDL完成跨进程更新UI初探

文章大纲引言一、Android跨进程更新UI的方式二、实现AIDL跨进程更新View1、创建更新UI的aidl并定义业务接口2、封装基本的父类和一些工具类3、实现对应AIDL的远程Service4、实现另一个进程的Activity5、在清单上注册服务和Activity6、MainActivity的实现三、借助Aidl和RemoteViews实现跨进程更新UI1、创建AIDL文件2、实现远程...

2019-05-11 22:05:26

网络编程——HTTPS和SSL握手小结及使用原生Socket 完成HTTPS简单通信

文章大纲引言一、HTTPS概述二、SSL\TSL安全协议1、SSL\TSL概述2、SSL协议提供的服务3、SSL协议的工作流程3.1、服务器认证阶段:3.2、用户认证阶段3、握手流程4、CA数字证书三、HTTP和HTTPS小结1、HTTP和HTTPS的异同2、HTTPS的优点和不足四、Socket实现HTTPS通信1、仅信任本机预置的所有CA证书2、信任所有的CA证书,未校验证书的合法性...

2019-05-01 13:34:39

网络编程——关于最常用的网络通信HTTP协议你应该知道的一些常识

http://kb.cnblogs.com/page/130970/ 当今web程序的开发技术真是百家争鸣,ASP.NET,PHP,JSP,Perl,AJAX等等。无论Web技术在未来如何发展,理解Web程序之间通信的基本协议相当重要,因为它让我们理解了Web应用程序的内部工作.本文将对HTTP协议进行详细的实例讲解,内容较多,希望大家耐心看。也希望对大家的开发工作或者测试工作有

2019-04-18 19:26:10

网络编程——使用原生Socket 完成HTTP简单通信

引言前一篇文章介绍了Flutter的环境搭建和Dart中内置数据类型、类型转换、变量定义、控制语句、操作符的基本语法,这一篇接着小结方法、类、继承、泛型的相关知识。一、Function方法Dart是一种的面向对象的语言,所以即使是方法也是对象,并且有一个类型Function,这意味着方法可以赋值给变量或作为参数传递给其他方法。1、声明格式在Dart中方法声明的基本格式:返回值类型方...

2019-04-15 11:19:40

网络编程——TCP连接的三次握手和“四次”挥手小结

引言一、TCP的三次握手因为HTTP是基于TCP协议的,所以发起HTTP请求时,会首先建立起底层的TCP连接,在客户端与服务器建立TCP连接的时候会进行三次握手;而在断开TCP连接的时候需要进行四次挥手,简记连三断四。最初两端的TCP进程都处于CLOSED关闭状态,而S端程序启动并自动创建TCB开始监听,随时等待响应C端的请求。1、第一次握手C端的TCP进程主动打开连接创建TCB,向C...

2019-04-05 22:53:52

网络编程——网络分层模型及一些你应该知道的TCP等网络基础常识

引言

2019-04-04 22:26:36

Android进阶——自定义View的必修课之关于获取屏幕分辨率、状态栏高度、屏幕中心坐标小结

引言三、获取屏幕真实的分辨率WindowManagermanager=(WindowManager)context.getSystemService(Context.WINDOW_SERVICE);//获取WM对象DisplayMetricsdm=newDisplayMetrics();manager.getDefaultDisplay().getMetrics(d

2019-03-17 00:09:53

Android 进阶——Android Studio 项目结构详细述及Gradle脚本语法完全解析(一)

引言一、Gradle概述二、AndroidSutdio项目主要结构概述1、build目录执行gradle语言之后默认的输出目录,比如说打包好的apk、jar、aar等一些中间输出产物,通过这个目录可以检查是否成功引入了jar或者aar。2、gradle目录gradle目录则是配置当前项目编译所采用的gradle版本信息,如果配置的版本已经在本地目录下存在完整版本的就会直接使用...

2019-03-13 23:21:12

Android进阶——自定义View之WindowManager概述及利用WindowManager实现悬浮所有界面之上的悬浮窗Floating View(二)

引言紧接上一篇Android进阶——自定义View之WindowManager概述及利用WindowManager实现悬浮所有界面之上的悬浮窗FloatingView(一),这篇正式开始实现全界面悬浮View。一、定义悬浮窗管理工具类所谓的悬浮窗管理类并不是必须的,只是我习惯把这样的操作封装起来,利于管理和调用,本质上就是通过WindowManager实例调用对应的方法packagec...

2019-03-12 10:24:35

Android进阶——自定义View之WindowManager概述及利用WindowManager实现悬浮所有界面之上的悬浮窗Floating View(一)

引言悬浮窗相信大家都不陌生,比如各种手机管理软件上的加速球,视频应用的小窗,可以以很少的空间换来较高的用户体验。记得我最初接触到悬浮窗就是流氓卫士的加速球,反编译后发现里面有个FloatingView的东西,初学的时候还以为是系统自带的控件,后来才知道本质上就是利用WindowManager.addView实现的,一定程度上来说实现并不难,复杂之处在于适配各种ROM获取悬浮窗权限。一、Win...

2019-03-12 10:23:45

Java进阶——数据结构与算法之线性表的顺序结构与冒泡和选择排序(一)

引言相信作为科班出生的同学都已经学习过了数据结构,可作为App开发者或者Web开发者,又有多少真正的灵活运用数据结构来解决自己的时机问题呢,数据结构或许在一些开发者的眼里是可有可无的东西,不用数据结构也能解决,其实并不然,很多时候追求高质量代码的过程,数据结构或许是一个有力的帮手,数据结构对于普通非算法工程师来说,其思想比实现更重要,仅个人拙见。一、数据结构与算法概述1、数据结构数据结构是...

2019-01-30 15:25:50

Android进阶——阿里Android开发手册学习笔记(一)

引言阿里巴巴不仅仅是只关注你的钱包,也在给程序的开发世界贡献着自己的力量,为你们的代码质量操碎了心,推出了众多技术文档,抱着让自己的代码更规范的心态,下载被阅读了阿里巴巴Android开发手册v1.0.1,由于不便阅读和快速定位,决定摘抄重排版到博客上,在原文档的基础上使当地增加一些所谓的解读和理解,你也可以直接去找原版的来读,直接略过这笔记。一、Android资源文件命名与使用应用...

2019-01-30 15:20:13

Android进阶——Android Studio把库Module打包成jar包和aar包小结

引言Androidstudio没有像Eclipse一样提供便捷的图形界面打包成Jar包,而且也没有默认的打包Jar包的gradle脚本,如果需要把一个库Module打包成Jar包,需要自己在对应的库Module下对应的gradle.build脚本编写相应的gradle脚本AndroidStudio项目打包成jar前言:在eclipse中我们知道如何将一个项目导出为jar包,现在普遍A

2019-01-30 15:07:29

Android NDK——必知必会之使用gcc/g++在Linux下完成交叉编译(八)

引言前一篇文章AndroidNDK——必知必会之Makefile和CMake基本使用语法概述(二)简单介绍了MakeFile和CMake的相关知识,这篇就从小结下在Linux下交叉编译的基本流程。一、在Linux下通过gcc/g++编译运行C/C++1、编译的基本流程一个C/C++源文件通常需要经过预处理(preprocessing)、编译(compilation)、**汇编(assem...

2019-01-30 15:05:13

Android NDK——必知必会之Makefile和CMake基本使用语法概述(七)

引言虽然在AndroidStudio开发NDK很简单了,但是一、

2018-12-23 21:03:56
奖章
  • Github
    Github
    绑定github第三方账户获取
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周上午根据用户上周的博文发布情况由系统自动颁发。