- 博客(22)
- 收藏
- 关注
原创 插值器的种类有哪些|怎么自定义插值器
1、插值器(Interpolator)决定值的变化模式 2、默认种类有 AccelerateDecelerateInterpolator :在动画开始与结束的地方速率改变比较慢,在中间的时候加速 AccelerateInterpolator:在动画开始的地方速率改变比较慢,然后开始速率变化加快 LinearInterpolator:以常量速率改变 AnticipateInterpolator:开始...
2019-11-01 21:41:42
413
原创 XRecyclerView博客
在项目的builde下添加以下依赖: dependencies { classpath ‘com.jfrog.bintray.gradle:gradle-bintray-plugin:1.0’ classpath ‘com.github.dcendents:android-maven-gradle-plugin:1.4.1’ } 使用: xRecyclerView.setPullRefreshEn...
2019-10-28 21:01:56
220
原创 图片的处理
图片的处理主要用两种方式。我们的应用中有两处用到了图片,一个是 ListView 中展示的图片缩略图,这种情况的特点是数量大,但是单个图片内存小,只有几 kb,另外一种是大图片, 就是用户通过手机拍摄的图片,然后通过 http 的 post 提交的方式提交到服务器上。然后在客户端将这个大图片也展示出来。对于第一种情形,我们是通过三种技术手段来解决问题的,一是图片的缓存策略, 二是 ListView...
2019-10-25 21:08:21
289
原创 JAVA中强引用、软引用、虚引用
强引用:在我们平时编程中,用的最多的其实就是强引用,比如 User user = new User() ,则这个user就是一个强引用,如果一个对象具有强引用,那Java虚拟机宁愿抛出out of memory也不会对这个对象进行回收。 软引用:如果一个对象只具有软引用,如果java虚拟机内存空间足够,垃圾回收器就不会回收它,但当内存空间不足时,就会回收这些对象的内存。只要垃圾回收器没有回收它,该...
2019-10-21 21:07:57
219
原创 Android选项卡TabHost功能和用法
选项卡TabHost介绍 TabHost可以方便地在窗口上放置多个标签页,每个标签页相当于获得了一个与外部容器大小相同的组件摆放区域 TabHost是一个简单的容器,提供如下两种方法来创建选项卡 newTabSpec(String tag):创建选项卡 addTab(TabHost.TabSpec tabSpec):添加选项卡 使用TabHost有三种方法 方法1,继承TabActivity 主布...
2019-10-17 21:07:33
321
原创 安卓Textview
Android TextView 相关 2018.03.19 06:09:07 字数 1691 阅读 681 概述 Android 自定义View过程中,绘制文字主要有如下手段: 通过Canvas的drawText的相关Api: public void drawText(@NonNull char[] text, int index, int count, float x, float y, @N...
2019-10-16 20:54:32
357
原创 安装Cygwin
安装Cygwin 在windows下安装 ffmpeg 的最好方式就是使用Cygwin。 Cygwin是什么呢?简单的说,就是在 Windows上装了一个Linux模拟器。然后你可以在这个模拟器上按照Linux的方式操作 Windows系统。因此,Windows安装了Cygwin之后,你就把它当Linux用就可以了。既然在Windows上装Cygwin之后,可以像Linux一样操作,那当然编译ff...
2019-10-10 20:51:56
408
原创 作业DAY8
**Android开发中何时使用多进程?使用多进程的好处是什么? ** 要想知道如何使用多进程,先要知道Android里的多进程概念。一般情况下,一个应用程序就是一个进程,这个进程名称就是应用程序包名。我们知道进程是系统分配资源和调度的基本单位,所以每个进程都有自己独立的资源和内存空间,别的进程是不能任意访问其他进程的内存和资源的。 那如何让自己的应用拥有多个进程? 很简单,我们的四大组件在And...
2019-09-29 19:45:23
227
原创 作业DAY7
**Android中touch事件的传递机制是怎样的? ** 1.Touch事件传递的相关API有dispatchTouchEvent、onTouchEvent、onInterceptTouchEvent 2.Touch事件相关的类有View、ViewGroup、Activity 3.Touch事件会被封装成MotionEvent对象,该对象封装了手势按下、移动、松开等动作 4.Touch事件通常...
2019-09-29 19:44:40
286
原创 作业DAY6
**Android中进程间通信有哪些实现方式? ** Intent,Binder(AIDL),Messenger,BroadcastReceiver **介绍下实现一个自定义view的基本流程 ** 1、自定义View的属性 编写attr.xml文件 2、在layout布局文件中引用,同时引用命名空间 3、在View的构造方法中获得我们自定义的属性 ,在自定义控件中进行读取(构造方法拿到attr....
2019-09-29 19:43:54
204
原创 作业DAY5
**请介绍下AsyncTask的内部实现,适用的场景是? ** AsyncTask内部也是Handler机制来完成的,只不过Android提供了执行框架来提供线程池来执行相应地任务,因为线程池的大小问题,所以AsyncTask只应该用来执行耗时时间较短的任务,比如HTTP请求,大规模的下载和数据库的更改不适用于AsyncTask,因为会导致线程池堵塞,没有线程来执行其他的任务,导致的情形是会发生A...
2019-09-29 19:42:52
246
原创 作业DAY4
**谈谈你对Android中Context的理解? ** Context:包含上下文信息(外部值) 的一个参数. Android 中的 Context 分三种,Application Context ,Activity Context ,Service Context. 它描述的是一个应用程序环境的信息,通过它我们可以获取应用程序的资源和类,也包括一些应用级别操作,例如:启动一个Activity,...
2019-09-29 19:41:57
213
原创 作业DAY3
**设备横竖屏切换的时候,接下来会发生什么? ** 1、不设置Activity的android:configChanges时,切屏会重新调用各个生命周期,切横屏时会执行一次,切竖屏时会执行两次 2、设置Activity的android:configChanges=”orientation”时,切屏还是会重新调用各个生命周期,切横、竖屏时只会执行一次 3、设置Activity的android:con...
2019-09-29 19:41:13
229
原创 作业DAY2
**如何缩减APK包大小? ** 代码 保持良好的编程习惯,不要重复或者不用的代码,谨慎添加libs,移除使用不到的libs。 使用proguard混淆代码,它会对不用的代码做优化,并且混淆后也能够减少安装包的大小。 native code的部分,大多数情况下只需要支持armabi与x86的架构即可。如果非必须,可以考虑拿掉x86的部分。 资源 使用Lint工具查找没有使用到的资源。去除不使用的图...
2019-09-29 19:40:26
212
原创 作业DAY1
1.要做一个尽可能流畅的ListView,你平时在工作中如何进行优化的? ①Item布局,层级越少越好,使用hierarchyview工具查看优化。 ②复用convertView ③使用ViewHolder 减少find view by id ④item中有图片时,异步加载 Picasso ⑤快速滑动时,不加载图片 ⑥item中有图片时,应对图片进行适当压缩 Picasso ⑦实现数据的分页加载 ...
2019-09-29 19:34:13
205
原创 Android Studio中使用SVN
安装 1.svn下载:https://tortoisesvn.net/downloads.html 2.svn安装: 需注意,需安装 command line功能。 3.svn安卓过后,需要重新启动电脑,右键才会显示svn菜单。 AndroidStudio 上SVN的使用 1.打开Android Studio–>File–>Setting–>Version Control–>...
2019-09-27 19:36:26
447
原创 Android(Git)
Git使用教程之本地仓库的基本操作 一个分布式版本控制系统,和SVN类似,但远比SVN强大的一个版本控制系统。Git可以方便的在本地进行版本管理。Git每次会提取整个代码仓库的完整镜像,相当于对整个代码仓库都进行了一次备份。 分支管理 git branch -a git checkout v1.0.3 创建版本库 git clone 克隆远程版本库 git init 初始化本地版本库 本地仓库与远...
2019-08-06 22:17:05
427
原创 Android Butterknife
ButterKnife是一个专注于Android系统的View注入框架,以前总是要写很多findViewById来找到View对象,有了ButterKnife可以很轻松的省去这些步骤。是大神JakeWharton的力作,目前使用很广。最重要的一点,使用ButterKnife对性能基本没有损失,因为ButterKnife用到的注解并不是在运行时反射的,而是在编译的时候生成新的class。项目集成起来...
2019-08-02 20:16:25
216
原创 安卓中Rxjava
RxJava异步 *RxJava 在 GitHub 主页上的自我介绍是 “a library for composing asynchronous and event-based programs using observable sequences for the Java VM”(一个在 Java VM 上使用可观测的序列来组成异步的、基于事件的程序的库)。这就是 RxJava ,概括得非常精...
2019-07-19 21:23:53
389
原创 MVP、MVC
MVP: MVP 1.代码简洁 2.降低耦合,方便维护.MVP优点分为Model、Presenter、View。缺点是Contract:MVP在实现代码简洁的同时,额外增加了大量的接口、类,不方便进行管理,于是Contract就登场了。 public class DataModel { List<String> data = new ArrayList<>()...
2019-07-18 21:28:51
199
原创 Kotlin基础
8个基本数据类型 var age: Int = 12 var price: Double = 45.0 var distance: Float = 1f var flag: Boolean = true var chhh: Char = '1' var log: Long = 1000 var byt: Byte = 10 var shortl: Short = 45 字符串数组 INT数组...
2019-07-05 21:42:00
231
原创 安卓studio高德地图步骤
显示地图 第一步:先配置 AndroidManifest.xml 文件 > XML <meta-data android:name="com.amap.api.v2.apikey" > android:value="您的Key"/> 第二步:在AndroidManifest.xml中配置权限: XML //地图包、搜索包需要的基础权限 ```xml ...
2019-05-17 21:21:53
740
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅