![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Android
文章平均质量分 94
samuelnotes
开心生活,快乐学习
展开
-
Android 屏幕适配方案
Android 屏幕适配方案有老铁问我说能不能把Android屏幕适配方案汇总一下整合一篇文章, 其实我听到这句话的心里的感觉汇总这个干嘛、 每个项目的适配需求是不一样的、 我们公司的适配要求是这样的、 另一个项目是这样的。 我的想法是最基本的屏幕适配概念是要清楚明白了然于胸的,适配方案可以了解、原理也可以借鉴学习。1.屏幕适配定义使得某一元素在Android不同尺寸、不同分辨率的手机上具备相同的显示效果2.相关重要的概念2.1 屏幕尺寸[物理尺寸]含义:手机对角线的物理尺寸单位:英原创 2020-07-31 17:12:33 · 409 阅读 · 0 评论 -
kotlin基础语法-06-语法特性-真泛型
kotlin基础语法-06-语法特性-真泛型本文主要写一些kotlin中的语法特性包含、变量、常量与只读、空安全是如何实现的、内联的特殊情况、kotlin的真泛型先来学个java命令、jdk 为我们提供的一个工具、 用来反编译一个class 文件的、javap [optoin] *.class -c 输出分解后的代码。 例如: 类中每一个方法内、包含Java字节码的指令 -ver...原创 2020-03-11 16:18:35 · 1070 阅读 · 0 评论 -
Kotlin基础语法-05-运算符重载-中缀表达式
Kotlin基础语法-05-运算符重载-中缀表达式接上篇文章本文主要从kotlin 中的运算符重载、中缀表达式、反引号与typealies、 对象比较与值比较、DSL的基本概念、1.运算符重载来看一段代码fun main( args : Array<String>){ /// 这里的step 就是步进、中缀表达式。 for( i in 1..10...原创 2020-03-09 17:29:03 · 1074 阅读 · 0 评论 -
Kotlin 基础语法-04-高级特性
Kotlin 基础语法-04-高级特性本文主要写kotlin中的解构、循环和集合操作符、 运算符重载、 作用域函数、 中缀表达式、DSL相关知识来展开。解构fun main(args: Array<String>){ val user = User(28,"samuelnotes") val (age,name) = user ///...原创 2020-03-06 18:22:28 · 1088 阅读 · 0 评论 -
kotlin 基础语法-03-面向对象
kotlin 基础语法-03-面向对象本文主要写一些kotlin 基础语法中的 类、对象、伴生对象、 构造函数和次级构造函数在java中的集成实现用extends 、 实现接口 使用 Implements . 我们看一下kotlin 类的声明格式。// 关键字 class 、 类名、 继承自 BaseActivity 实现了OnClickListener 接口 。 如果当前类有基类...原创 2020-03-05 16:59:56 · 1046 阅读 · 0 评论 -
kotlin 基础语法-02-函数-高阶函数
kotlin 基础语法-02-函数-高阶函数本篇文章 主要介绍kotlin 中的函数、嵌套函数、扩展函数、 lambda 语法 、 高阶函数、内联函数 体会函数式编程的能力。1.函数我们已经很熟悉函数的声明了、基本函数的声明语法如下:fun funName(arg1:String="默认值"):返回值类型{ /// 函数体 }其中参数后边的默认值是可以省略的、 如果...原创 2020-03-03 16:25:46 · 395 阅读 · 0 评论 -
Kotlin 基础语法-01-基本知识-与java互调
Kotlin 基础语法-01前言:Kotlin 语言在2017年被google 官方宣布为Andorid 开发的第一语言、 不可否认我们现在很多项目和一些老旧项目依然有很多人在使用Java 语言,但随着未来慢慢的推广和替代,kotlin 会逐渐取代上层Java语言开发的份额,由此可见我们学习kotlin 语言的重要性。扯淡:这一kotlin基础语法系列适合有一定java语言语法和C或...原创 2020-02-29 18:33:43 · 1093 阅读 · 0 评论 -
应用市场的那点事儿
应用市场截图大小和规范疫情严重、无奈在家,看到以前写的一点东西,总结一下,发到csdn上算是一些积累吧。这里记录Android市场,上架需求与文档。没什么技术含量,算是一篇参考性质的文档。应用市场的选择这里分享一下应用市场的选择思路, 由于应用市场的选择牵涉到应用的推广和扩散以及用户群的设定。 所以很重要。这里先说几种常见的应用市场,这里有两类,一类是属于网络运营商 例如: Go...原创 2020-02-05 20:31:08 · 3272 阅读 · 0 评论 -
Java基础-面向对象
Java基础-面向对象由于年前工作太忙、实在没时间整理Java基本知识。 但是可能长时间不更新不好看、再说我个人也没有半途而废的习惯。所以决定节前还是更新一篇吧。 这也算是Java的基本思想和一些偏进阶的东西。 如果思考透彻了、理解清楚了、那么这将对Java的进阶有很好的帮助。1.面向对象基础1.面向对象的思想1.1面向对象的思想A:面向过程思想概述 写这一部分、我想了半天...原创 2020-01-16 17:50:17 · 2940 阅读 · 1 评论 -
Java基础-基本语句语法-方法-数组-内存分配及栈和堆的区别
Java基础-基本语句语法-方法-数组-内存分配及栈和堆的区别最近一段比较忙,抽出时间,来更一篇。 这一篇主要还是Java基础, 基础语句语法、 数组、内存分配及栈和堆的区别。1. Java基本语句结构1.1 语句结构种类顺序结构选择结构循环结构1.2 顺序结构从上到下依次执行1.3 选择结构【可以嵌套】if , if else , if ...原创 2019-12-11 12:00:07 · 2718 阅读 · 0 评论 -
Android 虚拟导航键适配
Android 虚拟导航键适配最近项目里需要适配虚拟导航键,以及获取导航键的高度,来适配界面布局的高度。判断虚拟导航键是否存在不得不说,国内由于不同手机厂商对系统做了不同的修改,对系统界面底部的NavigationBar处理方式也就各不相同,有些手机系统有NavigationBar,有些手机没有,还有则是在设置增加开关,让用户选择是否启用NavigationBar。因此,对弈APP开发者...原创 2019-10-31 20:29:58 · 6663 阅读 · 0 评论 -
ThreadLocal 源码详细解析
ThreadLocal 源码详细解析 写这篇文章不在计划之内, 主要是分析到Handler消息机制一文中,牵涉到ThreadLocal内容,一次全部写完文章过长,所以打算单独摘出来梳理成为一篇文章。引言在我们日常开发中用到ThreadLocal的地方很多,在JDK 1.2的版本中就提供java.lang.ThreadLocal,ThreadLocal为解决多线程程序的并发问题...原创 2018-04-20 21:49:51 · 8289 阅读 · 0 评论 -
IntentService 使用与源码解析
IntentService 使用与源码解析IntentService 这兄弟用的地方也蛮多,用起来也蛮顺手, 而且用过不用太操心是否将其关闭。 之前在介绍Handler消息机制一文中简单介绍其工作原理。 本文就着重IntentService进行解析。本文主要分六部分展开:IntentService的介绍IntentService的使用IntentService的源码解析Inten...原创 2019-07-15 18:22:17 · 5913 阅读 · 0 评论 -
Java 高并发系列2-并发锁
Java 高并发系列2-并发锁接着上一篇并发文章我们继续Java 高并发系列1-开篇本篇的主要内容是以下几点:wait 、notify 的简单使用Reentrantlock的简单使用synchronized 与Reentrantlock的区别ThreadLocal的简单使用看一个面试题:曾经的面试题:(淘宝?)实现一个容器,提供两个方法,add,size写两个线程,线程1...原创 2019-07-06 17:25:02 · 8389 阅读 · 0 评论 -
App刷量刷友盟方案
App 刷量系统方案0.前言1.简介为了获取更多模拟用户,更高的日活与优质模拟用户而开发的一套综合的模拟助手系统方案。本文适合具有一定开发能力的开发者共同探讨研读。2.核心实现原理设备信息修改原理:本系统应用端基于Android 开源框架Xposed ,通过Xposed 对App方法的hook ,从而实现了修改设备信息的操作。用户操作模拟实现原理:Android Framew...原创 2019-07-12 16:00:15 · 17806 阅读 · 1 评论 -
常见正则表达式备忘
常见正则表达式常用正则表达式备忘非负整数:^\d+$ 正整数:^[0-9]*[1-9][0-9]*$ 非正整数:^((-\d+)|(0+))$ 负整数:^-[0-9]*[1-9][0-9]*$ 整数:^-?\d+$ 非负浮点数:^\d+(\.\d+)?$ 正浮点数 : ^((0-9)+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\....原创 2019-07-31 13:59:04 · 3331 阅读 · 0 评论 -
性能优化系列-Android 内存泄漏例子
性能优化系列-Android 内存泄漏例子内存泄露(Memory Leak)Java内存泄漏指的是进程中某些对象(垃圾对象)已经没有使用价值了,但是它们却可以直接或间接地引用到gc roots导致无法被GC回收。Dalvik VM具备的GC机制(垃圾回收机制)会在内存占用过多时自动回收,严重时会造成内存溢出OOM。内存溢出OOM(Out Of Memory)当应用程序申请的java hea...原创 2019-07-31 17:14:03 · 11014 阅读 · 0 评论 -
Binder核心原理与架构设计-Service启动
Binder核心原理与架构设计-Service启动这篇文章主要分析一下Binder核心原理与架构设计-Service启动, 我们身边可能有很多做好几年Android 开发的 却对Binder 了解不深,着重于应用层面的开发和API的调用。而现实的开发或者面试如果对Binder了解不深的话可以说很难进入高级工程师的行列。 所以说如果真正对系统底层了解比较深入的话 进程间通信是必知必会的, 就让我...原创 2019-08-19 18:43:39 · 4994 阅读 · 0 评论 -
Binder核心原理与架构设计-开篇
Binder核心原理与架构设计这篇文章主要分析一下Binder, 我们身边可能有很多做好几年Android 开发的 却对Binder 了解不深,着重于应用层面的开发和API的调用。而现实的开发或者面试如果对Binder了解不深的话可以说很难进入高级工程师的行列。 所以说如果真正对系统底层了解比较深入的话 进程间通信是必知必会的, 就让我们开始吧。简单一句话Binder是什么, 就是IPC ...原创 2019-08-15 11:46:33 · 4952 阅读 · 0 评论 -
Android View的绘制流程
Android View的绘制三大流程View的mesure、layout、draw三大流程。本文将详细讲解View的三大流程,阅读本文最好有牢固的Android基础,并且对Android View的基本结构有所了解。View的三大流程非常的重要,感觉现在面试必问。 同时,这个流程熟悉对于提升我们的开发水平也有很大的帮助。 在实际的开发中解决那种坑逼的问题时,熟悉三大流程必将事倍功半。本文...原创 2019-08-21 16:41:54 · 4839 阅读 · 0 评论 -
Dx bad class file magic (cafebabe) or version (0033.0000) 导致 NoClassDefFoundError 的问题
在做一个二维码扫描的app , 在项目中需要添加so 文件,以及配套的 *.jar 文档 . 由于项目是远程合作共同开发的 , 项目整体进展很好,等扫码功能解决之后, 他那边同步code编译死活不行, 领导急着要看初版app 的应用进展,这哥们儿,急爆了, 于是我们下午通过远端桌面,找到了以下错误.使用eclipse ant 打包dex时出现,执行 第四步 将class文件打包生成classe...原创 2019-07-15 14:51:18 · 1815 阅读 · 0 评论 -
Java高并发系列5-线程池
Java高并发系列5-线程池接上一篇Java并发系列4-并发容器我们继续在编程中经常会使用线程来异步处理任务,但是每个线程的创建和销毁都需要一定的开销。如果每次执行一个任务都需要开个新线程去执行,则这些线程的创建和销毁将消耗大量的资源;并且很难对其单个线程进行控制,更何况有一堆的线程在执行。这时就需要线程池来对线程进行管理。在线程池的管理下,线程分为启动,执行,空闲状态, 如果新来任务则...原创 2019-07-08 15:43:06 · 11644 阅读 · 4 评论 -
Java高并发系列4-并发容器
Java高并发系列4-并发容器接上一篇Java高并发系列3-再写单例我们继续,并发容器在高并发中有这举足轻重的地步,这一篇我们主要看并发容器。1、并发List在List下中有ArrayList 、LinkedList 、Vector 三种数据结构,其中Vector属于线程安全的。 在List下还有CopyOnWriteArrayList类实现的List接口,它也是线程安全的。Copy...原创 2019-07-08 15:32:01 · 8146 阅读 · 2 评论 -
Android Serivce 调优与保活
Android Serivce 调优与保活 说到Android 性能优化, 不可避免地会说到Service调优。 本篇文章会从调优与保活两个部分写。调优提到Service 难免会想到这家伙是一个后台服务,专门用来处理常驻后台的工作的组件。就像即时通讯:service来做常驻后台的心跳传输。 核心服务尽可能地轻, 可以通过核心服务放在简单的一段话里, 把其他主要执行任务的...原创 2018-07-22 15:03:13 · 8746 阅读 · 0 评论 -
提升Android应用的启动速度与设计
提升应用的启动速度与设计 这一部分主要写一写 应用启动白屏, 启动速度较慢,以及优化方案。本文一共分三个部分。搞定启动速度,让应用飞起来。1. 常规的优化方案2. 优化方案探讨3. 总结1.常规的优化方案a.热启动与冷启动1)冷启动:当直接从桌面上直接启动,同时后台没有该进程的缓存,这个时候系统就需要重新创建一个新的进程并且分配各种资源。2)热启动:该...原创 2018-07-13 18:37:42 · 10045 阅读 · 0 评论 -
阿里巴巴Android开发手册读后笔记
阿里巴巴Android开发手册读后笔记 通过前边一段时间的阅读,把手册中的内容整理了一下,做了一篇读后笔记。 个人觉得以下内容是在开发中需要注意的。 这里放个链接,是阿里巴巴开发手册 ,需要的可以去下载Android 基础组件1.【强制】Activity 间的数据通信,对于数据量比较大的,避免使用 Intent + Parcelable 的方式,可以考虑 EventBus ...原创 2018-05-27 21:42:20 · 7446 阅读 · 0 评论 -
Android Handler消息机制解析
Android Handler消息机制解析 众所周知 Handler在Android中的地位非常重要, 从处理异步线程任务队列的HandlerThread到从子线程与UI线程的通信, 再到ActivityThread中四大组件的sendMessage调度, 再到进程间通信与之关联Messenger 可以说是从头到尾贯穿的整个Android系统的枝枝蔓蔓。 所以说搞明白,搞懂Handler消...原创 2018-05-20 20:31:55 · 8480 阅读 · 0 评论 -
数据结构与算法-线性表
数据结构与算法-线性表基本概念线性表,顾名思义就是从逻辑上讲是连续的,一系列元素组成的数据元素,可以连起来就像一条线一样。 逻辑表述就是: a1是a2的前驱,ai+1 是ai的后继,a1没有前驱,an没有后继 n为线性表的长度 ,若n==0时,线性表为空表常见线性表顺序存储线性表说一种最常见的顺序存储线性表例子就是,排队买火车票的时候。 长长的一条队列。 ...原创 2018-03-25 21:52:50 · 7835 阅读 · 0 评论 -
数据结构与算法-开篇
数据结构与算法-开篇 先说一下数据结构,对于老司机来说就是数据的使用方法,如果非给个概念的话个人觉得数据之间相互存在的一种或多种特定的关系的元素的集合逻辑结构常见的数据对象中数据元素之间的相互关系 * 集合结构 * 线性结构 * 树形结构 * 图形结构物理结构无论是什么数据对象具体体现在计算机存储体系中,必须自己的存储方式,也就是数据结构的物理结构 无非就是...原创 2018-03-25 21:00:19 · 9104 阅读 · 0 评论 -
Android MutiDex 65536问题解决方案 异步加载解决方案
Android MutiDex 65536问题解决方案 异步加载解决方案现在将主要代码块 粘贴于此,以便回头查看网上有很多解决方案,这是以前项目中使用的一种方案, 方法是使用子进程异步MultiDex Install 方法 介绍:官网镇楼:https://developer.android.com/studio/build/multidex.htmlAndroidManifest 中子进程配置如下...原创 2018-03-06 14:28:12 · 7205 阅读 · 0 评论 -
Android应用接入微信支付实现支付功能
Android应用接入微信支付实现支付功能 记得很早以前公司项目中添加过移动支付这一块, 包括 微信,支付宝,银联等第三方的整合。 但是后来懒于总结就没留下什么, 最近公司项目打算添加,所以打算简单总结一下,记上一笔以备将来使用。 毕竟第三方的支付SDK , 一般定下了以后三五年不会改变。 闲话少说,开干。 集成第三方SDK没什么难度,只要我们用心阅读文档和开发引导,集成起来再留点神,一切...原创 2018-03-17 18:22:33 · 9237 阅读 · 0 评论 -
Android 事件传递机制总结
Android 事件传递机制总结Android View虽然不是四大组件,但是其重要程度堪比四大组件。初级工程师到中高级工程师,这些都是很重要的,因为事件分发机制面试也会经常被提及,如果我们能get到要领,并跟面试官深入的交流一下,那么一定会让面试官对我们印象深刻,发放offer。 就为了这个我们刨根问底深入学习一下事件传递机制,也是很值得的。下面我们就从以下几个部分分析一下事件传递机制:...原创 2019-06-15 17:47:55 · 7732 阅读 · 0 评论 -
Android开发 .9图 使用备忘
点9图四条边的意义: 老是忘,备注来一张价值连城的图:关于在Android Studio中使用.9图片出错解决方案用过Android Studio的童鞋都知道,AS中对.9的图片增加了安全检查机制,你的.9图片只要有不规范的地方都会给你编译报错,本人刚开始用AS时就深受其苦,后来才找到了解决办法。解决方式主要有两种:一是让AS取消掉对.9图片的安全检查。找到你app目录下的build...原创 2019-06-23 17:02:32 · 422 阅读 · 0 评论 -
Java高并发系列3 -再写单例
Java高并发系列3 -再写单例接高并发系列上一篇Java高并发系列2-并发锁这篇我们来说说高并发下的单例。单例模式是最常用到的设计模式之一,熟悉设计模式的朋友对单例模式都不会陌生。非线程安全的单例设计这里不再提及,主要涉及线程安全的单例设计。1.看一条设计public class Singleton { private static Singleton sin=new Sin...原创 2019-07-08 14:49:52 · 7287 阅读 · 2 评论 -
Java 高并发系列1-开篇
Java 高并发系列1-开篇我们都知道在Android开发中, 一个Android程序启动之后会有一个主线程,也就是UI线程, 而网络加载数据, 本地文件长时间读写,图片压缩,等等,很多耗时操作会阻塞UI线程,到时ANR的产生,在Android 3.0 之后便不能在UI线程使用。 由此可见多线程的使用在Android开发中占地位是多么重要。这个系列 我打算通过一个个的例子来说明多线程的基本...原创 2019-06-23 18:19:21 · 6788 阅读 · 2 评论 -
Android应用接入支付宝实现支付功能
记得很早以前公司项目中添加过移动支付这一块, 包括微信,支付宝,银联等第三方的整合。 但是后来懒于总结就没留下什么, 最近公司项目打算添加,所以打算简单总结一下,记上一笔以备将来使用。 毕竟第三方的支付SDK , 一般定下了以后三五年不会改变。 闲话少说,开干。 集成第三方SDK没什么难度,只要我们用心阅读文档和开发引导,集成起来再留点神,一切都不是问题。 1. 申请流程(支付宝移动开发平台)1....原创 2018-03-09 10:18:31 · 16159 阅读 · 0 评论