- 博客(10)
- 资源 (5)
- 收藏
- 关注
原创 Android图片压缩优化
目前照片动辄5-10M,这样原图上传会对服务器和流量照成很大的负担,所以我们一般在上传服务器的时候会进行压缩再上传(除非用户选择原图上传)。这里介绍几种常见的压缩方法,质量压缩,尺寸压缩,采样率压缩,JNI调用libjpeg库来进行压缩,最后我会借鉴鲁班压缩(号称最接近微信压缩的方法)写一个结合采样率和质量压缩的方法。有个小建议,Android项目本地资源图片可以采用webp格式,webp是一种同时提供了有损压缩和无损压缩的图片格式,无损webp平均比png小26%,有损的webp平均比jpeg小25%~3
2020-11-13 16:43:15
429
原创 ScrollView嵌套ListVIew初始化时不在顶部
平常开发过程中,我们经常会在ScrollView中嵌套ListVIew或者一些自定义的View等等。 当我们界面初始化的时候,有时候会发生直接滑到了子View的位置而没有从顶部开始显示,这是因为子View主动去获取到了焦点。 这时候我们可以通过把焦点还给ScrollView来解决这个问题,想到2种方案:1、取消ListView的焦点(但是亲测无效):...
2019-08-14 17:18:52
115
原创 Android Studio封装SDK
一般我们封装SDK,常见的都是以jar包,aar包,so库等方式导入APP项目中。jar包和aar包都是需要将Moudle改为Library,那jar包和aar包有什么区别呢?简单来说就是aar包中包含资源文件,jar包中不包含资源文件,如果SDK中我们需要图片等资源那我们就选择aar包。接下来就针对aar包和jar包来讲一下封装SDK的过程和遇到的一些问题1. 新建Library库新建一...
2019-04-23 19:10:27
1472
1
原创 Android事件分发机制
在Android开发过程中尝尝会遇到滑动冲突等问题,这时候就需要用到事件分发的机制来解决了。 首先需要了解下Android中的触摸事件。我们对屏幕的点击,滑动,抬起等一系的动作都是由一个一个MotionEvent对象组成的。根据不同动作,主要有以下三种事件类型:1.ACTION_DOWN:手指刚接触屏幕,按下去的那一瞬间产生的事件2.ACTION_MOVE:手指在屏幕...
2018-07-10 18:20:47
170
原创 浅谈Android 6.0 运行时权限处理完全解析
Android6.0以上开始对权限进行严格的控制,对于6.0以下的权限及在安装的时候,根据权限声明产生一个权限列表,用户只有在同意之后才能完成app的安装,造成了我们想要使用某个app,就要默默忍受其一些不必要的权限。而在6.0以后,我们可以直接安装,当app需要我们授予不恰当的权限的时候,我们可以予以拒绝。对于开发者来说就需要对运行时权限做一些判断。新的权限机制更好的保护了用户的隐私,...
2017-09-08 16:50:46
225
原创 Android百度地图的使用
1、环境配置 申请密钥,下载sdk(jar和so库),Android Studio的话如果在时在lib下面放的jar包和so库build文件加上sourceSets{ main{ jniLibs.srcDirs=['libs'] }}在AndroidManifest文件中加上<meta-data android...
2017-07-20 14:03:14
851
原创 Volley的基本使用
1、Get请求先下一个Volley的jar包导入使用时先创建一个消息队列,RequestQueue, 它可以缓存所有的HTTP请求,然后按照一定的算法并发地发出这些请求。RequestQueue内部的设计就是非常合适高并发的,因此我们不必为每一次HTTP请求都创建一个RequestQueue对象,这是非常浪费资源的,基本上在每一个需要和网络交互的Activity中创建一个RequestQ...
2017-07-20 14:00:52
232
原创 OkHttp3的使用
OkHttp3的使用Android Studio的导入compile'com.squareup.okhttp3:okhttp:3.2.0'compile'com.squareup.okio:okio:1.6.0'1、GET请求Stringurl="https://www.baidu.com/";OkHttpClientokHttpClient=new...
2017-06-26 15:01:48
353
原创 Activity生命周期启动方式及启动模式
Activity的内容Activity的生命周期多个Activity交互会调用:进行横竖屏切换时会将此activity先销毁掉,即经历onPause->onStop->onDestroy方法,然后重新执行此activity的onCreate->onStart->onResume方法。在activity销毁的时候保存一些状态信息onSaveI...
2017-06-26 14:27:47
310
原创 实现ListView的下拉刷新和上拉加载
ListView下拉刷新实现方式分析1、需要添加顶部下拉加载界面;2、我们需要监听onScrollListener,来判断当前是否显示在listview的最顶部;3、因为顶部下拉加载界面是跟随收拾滑动状态不断改变界面显示的所以我们需要监听onTouch事件,来改变当前状态以及界面显示;4、根据当前状态加载数据;注:布局中的listview要改成重写的那个ListView重写...
2017-06-26 13:57:43
409
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人