- 博客(12)
- 资源 (6)
- 收藏
- 关注
原创 静态代理 + 动态代理简单使用
静态代理 + 动态代理简单使用一、简述1、从编码的角度来讲,代理模式分为静态代理和动态代理。静态代理:在代码运行之前就已经存在编译好的class文件。动态代理:在代码运行时通过反射来动态的生成代理类的对象,旨在项目运行期间,通过代码来确定代理谁。Java的反射包提供了一个Proxy类和InvokationHandler接口,它们结合在一起后可以创建动态代理类。Porxy:Porxy类基于传递的参数创建动态代理类。InvokationHandler:InvokationHandler则用于激发动态
2021-10-13 11:12:34
190
1
原创 Tablayout + ViewPager2 + Fragment + AppbarLayout 使用总结 (一)
###Tablayout#####1、效果图#####2、属性介绍<com.google.android.material.tabs.TabLayout android:id="@+id/tablayout" android:layout_width="match_parent" android:layout_height="40dp" android:background="#FFFFFFFF" app:tabM
2021-07-20 17:23:14
944
原创 Recyclerview + Flexbox水平排列超出页面宽度自动换行
一、效果图当item行宽度超出页面宽度的时候,自动换行二、实现FlexboxLayout ,github https://github.com/google/flexbox-layout官方原话简介:FlexboxLayout is a library project which brings the similar capabilities of CSS Flexible Box Layout Module to Android.具体属性详解,这篇博文很清楚:https://blog.csdn
2021-02-18 16:32:08
1956
4
原创 力扣:5.最长公共前缀
编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 “”。示例 1:输入: [“flower”,“flow”,“flight”]输出: “fl”示例 2:输入: [“dog”,“racecar”,“car”]输出: “”解释: 输入不存在公共前缀。说明:所有输入只包含小写字母 a-z 。思路看到这种题第一想法就是暴力暴力暴力循环,从第一个字符串的第一个字符 开始取,然后第二个字符往数组循环比对。。。。。。这样我真的觉得我太傻13了。。。。。。Array.
2020-09-10 22:38:49
164
原创 力扣:4.罗马数字转整数
罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。字符 数值I 1V 5X 10L 50C 100D 500M 1000例如, 罗马数字 2 写做 II ,即为两个并列的 1。12 写做 XII ,即为 X + II 。 27 写做 XXVII, 即为 XX + V + II 。通常情况
2020-09-09 22:31:13
145
原创 力扣:3.整数反转
给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。示例 1:输入: 123输出: 321示例 2:输入: -123输出: -321示例 3:输入: 120输出: 21注意:假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−231, 231 − 1]。请根据这个假设,如果反转后整数溢出那么就返回 0。思路:暴力解。今天特别想暴力!class Solution { public int reverse(int x) {
2020-09-08 22:14:41
147
原创 力扣:2.回文数--判断一个整数是否是回文数
判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。示例 1:输入: 121输出: true示例 2:输入: -121输出: false解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。示例 3:输入: 10输出: false解释: 从右向左读, 为 01 。因此它不是一个回文数。思路一:先看第二个输入,如果输入的是个负数,固定返回false,所以可以先进性x的判断是否小于0;对整数进行一个按位反转,
2020-09-07 19:20:30
463
原创 1、音视频基础知识
主要涵盖点:音视频的一些名词,概念一、什么是音视频音视频音视频当然是音频 + 视频咯1.1 什么是音频音频,是指存储声音的一种介质或者容器,现实中,声音的传输是一直存在的,任何通过话筒,耳机之类的传输最终都会变成一种称为模拟信号的东西,在以前,通过留声机之类的对声音进行保存。对于现在数字时代来说,声音都是被处理成数字信号来存储在容器中。数字信号,可以理解为用来记录声音的一些数字(二进制0和1),而数字信号的优点是可以实现对声音的无损音质的保存。脉冲编码调制 PCM一种数字数据处理的机制,关
2020-09-06 23:06:05
904
原创 力扣:1.两数之和
记录给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]---------------------解法------------------------------解法一:单循环map解法,
2020-09-06 23:04:03
150
原创 OkHttp源码分析 (一)
OkHttp 源码阅读 一老生常谈,项目中用到最多的网络请求框架应该是ok了吧,那么对于ok的内部实现流程也要有充分的了解才行,这样才方便解决一些遇到的问题。其实在网上,随便一搜okhttp的原理,会有很多文章,但是看过后,要么太简短要么太复杂,有的看起来甚至是一头雾水,这样虽然自己看过,但是真正记到脑中的知识海了吗?所以想试试以自己的想法,自己的思维来理解一遍实现方式,来理解一下为什么短短的几行调用方式就可以实现一个网络请求。就写一下笔记记录下自己的理解。要理解一个东西,知道它是什么----->
2020-07-29 22:17:54
813
1
原创 性能优化 ---启动优化
性能优化—启动优化APP启动优化是app性能优化中的一种优化方式,也是整体项目优化所必须的一点。因为良好的应用启动速度可以带给用户更好的体验,增加留存率。APP的启动方式谷歌官方文档应用有三种启动状态,每种状态都会影响应用向用户显示所需的时间:冷启动、温启动或热启动。在冷启动中,应用从头开始启动。在另外两种状态中,系统需要将后台运行的应用带入前台。建议您始终在假定冷启动的基础上进行优化。这样做也可以提升温启动和热启动的性能。要优化应用以实现快速启动,了解系统和应用层面的情况以及它们在各个状态中的互
2020-07-28 23:06:47
446
转载 转,面试总结
2017-10-11 逆流的鱼yuiop 何俊林转眼就到了2017年10月,离2018就剩下几个月了,很多人估计正在跳槽的路上,整理一份Android高级开发工程师面试集锦,对照这些问题进行复习,将会事半功倍。废话不多说,直接上干货,由于是整理于网络,就不标明原创,希望大家多多分享和转发给有需要的同学。阿里巴巴LRUCache原理图片加载
2017-10-23 13:10:29
253
1
《HTTP权威指南》中文 文字版
2018-04-26
eventBus-3.1.1.jar
2018-04-04
Kotlin实战英文版及中文版翻译(不全),及Kotlin官方参考文档
2017-09-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人