glide

Android--常用框架大全

♀尐吖头ヾ 提交于 2020-11-19 04:56:13
1. 缓存 名称 描述 DiskLruCache Java实现基于LRU的磁盘缓存 2.图片加载 名称 描述 Android Universal Image Loader 一个强大的加载,缓存,展示图片的库 Picasso 一个强大的图片下载与缓存的库 Fresco 一个用于管理图像和他们使用的内存的库 Glide 一个图片加载和缓存的库 3. 图片处理 名称 描述 Picasso-transformations 一个为Picasso提供多种图片变换的库 Glide-transformations 一个为Glide提供多种图片变换的库 Android-gpuimage 基于OpenGL的Android过滤器 4. 网络请求 名称 描述 Android Async HTTP Android异步HTTP库 AndroidAsync 异步Socket,HTTP(客户端+服务器),WebSocket,和socket.io库。基于NIO而不是线程。 OkHttp 一个Http与Http/2的客户端 Retrofit 类型安全的Http客户端 Volley Google推出的Android异步网络请求框架和图片加载框架 5. 网络解析 名称 描述 Gson 一个Java序列化/反序列化库,可以将JSON和java对象互相转换 Jackson

Android常用第三方框架记录

妖精的绣舞 提交于 2020-11-19 04:49:08
先记录,万一用到呢 1、腾讯TBS浏览器WebView,避免系统WebView的多坑。 2、智能布局加载更多:SmartRefreshLayout 3、沉浸式布局:ImmersionBar 4、注解:ButterKnife 5、键盘监听:KeyboardHeightProvider 6、滑动TabLayout:SlidingTabLayout 6、音视频播放器:IjkPlayer 7、音视频缓存管理:HttpProxyCacheServer 8、JS连接桥:com.github.lzyzsd:jsbridge 9、权限检测:com.yanzhenjie:permission 10、照片裁减:badgeview 11、桌面应用角标:com.facebook.stetho:stetho 12、地址选择器:com.soundcloud.android:android-crop 13、内存检测:leakcanary 14、图片加载:Fresco(建议使用,加载速度比Glide快,加载动画适配机型比Glide多) 15、Banner:cn.bingoogolapple:bga-banner 16、事件传递:EventBus,Rxbus(如果使用RxJava,建议使用) 17、流式布局:com.github.iwgang:countdownview 18、数据库:GreenDao 19

COPR 仓库中 4 个很酷的新项目(2020.10)

泪湿孤枕 提交于 2020-11-11 14:44:49
COPR 是个人软件仓库 集合 ,它不在 Fedora 中。这是因为某些软件不符合轻松打包的标准;或者它可能不符合其他 Fedora 标准,尽管它是自由而开源的。COPR 可以在 Fedora 套件之外提供这些项目。COPR 中的软件不受 Fedora 基础设施的支持,或者是由项目自己背书的。但是,这是一种尝试新的或实验性的软件的一种巧妙的方式。 本文介绍了 COPR 中一些有趣的新项目。如果你第一次使用 COPR,请参阅 COPR 用户文档 。 Dialect Dialect 使用谷歌翻译将文本翻译成外语。它可以记住你的翻译历史,并支持自动语言检测和文本到语音等功能。用户界面简约,模仿谷歌翻译工具本身,所以它真的很容易使用。 安装说明 目前 仓库 在 Fedora 33 和 Fedora Rawhide 中提供了 Dialect。要安装它,请使用下面的命令: sudo dnf copr enable lyessaadi/dialect sudo dnf install dialect GitHub CLI gh 是一个官方的 GitHub 命令行客户端。它在终端提供了快速的访问,并完全控制你的项目问题、拉取请求和发布。议题(和其他东西)也可以在浏览器中轻松查看,以获得更标准的用户界面,或与他人分享。 安装说明 目前 仓库 在 Fedora 33 和 Fedora Rawhide

阿里工作十年的Android架构师,总结出2020最新阿里、腾讯、字节、京东等一线大厂高频面试真题合集,以及从业心得分享

不想你离开。 提交于 2020-11-09 12:46:46
前言: 本文资料是由阿里工作十年架构师提供,属于纯干货篇,总结了最新2020整理收集的一些面试题(都整理成文档,附答案), 涵盖了阿里巴巴、腾讯、字节跳动、京东、华为等大厂的Android面试真题,和资深架构师学习路线以及Android架构文档。 不管你是要面试大厂还是普通的互联网公司,这些面试题对你肯定是有帮助的,毕竟大厂一定是行业的发展方向标杆,很多公司的面试官同样会研究大厂的面试题。也会对你的架构师之路带来帮助,文中更是有详细的学习规划图,给你带来不一样的阅读感。 干货献上: 第一部分:(Android中高级篇) 1.Android基础: 1.什么是Activity? 2.请描述一下Activity 生命周期 3.常见的Activity类型有FragmentActivitiy,ListActivity,TabAcitivty等。请描述一下Activity 生命周期 4.如何保存Activity的状态或者(Activiy 重启怎么保存数据?) 5.两个Activity之间跳转时必然会执行的是哪几个方法? 6.横竖屏切换时Activity的生命周期(★★★★) 7.如何将一个Activity设置成窗口的样式 8.如何退出Activity?如何安全退出已调用多个Activity的Application? 9.Activity的四种启动模式

Android 图片设置圆角

限于喜欢 提交于 2020-11-08 23:11:39
  Android中经常会遇到对图片进行二次处理,例如加圆角,或者显示圆形图片 方法一:   通过第三方框架Glide实现图片显示有圆角,有三种写法如下:   1.1,第一种实现:   RequestOptions options = new RequestOptions().error(R.drawable.img_load_failure).bitmapTransform(new RoundedCorners(30));//图片圆角为30   Glide.with(this).load(URL) //图片地址   .apply(options)   .into(ImagView);   1.2,第二种实现:   RequestOptions requestOptions = new RequestOptions();   requestOptions.placeholder(R.drawable.ic_launcher_background);   requestOptions.circleCropTransform();   requestOptions.transforms( new RoundedCorners(30));   Glide.with(this).load(URL) //图片地址   .apply(options)   .into(ImagView);  

金九银十要来了?不要慌,这些Android BAT高级面试题刷一刷

て烟熏妆下的殇ゞ 提交于 2020-10-02 14:22:36
已经九月中旬了,差不多很多程序员都准备在这个时候跳槽或者找工作了。。。 如果想变得优秀那就去看那些优秀的人在学什么,做什么,想尽一切办法和他们交流;多出去看看这个世界,然后把自己逼到往死里学。 这篇攻略是我从事开发工作七八年来,去面试,以及面试别人的经验总结。其中大部分都是大企业面试常问的面试题,可以对照这查漏补缺,当然了,这里所列的肯定不可能覆盖全部方式,希望对大家之后找工作有帮助! 一、性能优化 App稳定性优化 你们做了哪些稳定性方面的优化? 性能稳定性是怎么做的 业务稳定性如何保障? 如果发生了异常情况,怎么快速止损? App启动速度优化 启动优化是怎么做的? 是怎么异步的,异步遇到问题没有? 启动优化有哪些容易忽略的注意点? 版本迭代导致的启动变慢有好的解决方式吗? 开放问题:如果提高启动速度,设计一个延迟加载框架或者sdk的方法和注意的问题 App内存优化 你们内存优化项目的过程是怎么做的? 你做了内存优化最大的感受是什么? 如何检测所有不合理的地方? App绘制优化 你在做布局优化的过程中用到了哪些工具? 布局为什么会导致卡顿,你又是如何优化的? 做完布局优化有哪些成果产出? 你是怎么做卡顿优化的? 你是怎么样自动化的获取卡顿信息? 卡顿的一整套解决方案是怎么做的? TextView setText耗时的原因,对TextView绘制层源码的理解? 开放问题

深入学习性能优化--面试使用

非 Y 不嫁゛ 提交于 2020-09-29 07:18:25
转载地址 1、 你对 APP 的启动有过研究吗? 有做过相关的启动优化吗? 程序员: 之前做热修复的时候研究过 Application 的启动原理。项目中也做过一些启动优化。 面试官: 哦,你之前研究过热修复? (这个时候有可能就会深入的问问热修复的原理,这里咱们就不讨论热修复原理) 那你说说对启动方面都做了哪些优化? 程序员: 1 .我发现程序在冷启动的时候,会有 1s 左右的白屏闪现,低版本是黑屏的现象,在这期间我通过翻阅系统主题源码,发现了系统 AppTheme 设置了一个 windowBackground ,由此推断就是这个属性捣的鬼,开始我是通过设置 windowIsTranslucent 透明属性,发现虽然没有了白屏,但是中间还是有一小段不可见,这个用户体验还是不好的。最后我观察了市面上大部分的 Android 软件在冷启动的时候都会有一个 Splash 的广告页,同时在增加一个倒数的计时器,最后才进入到登录页面或者主页面。我最后也是这样做的,原因是这样做的好处可以让用户先基于广告对本 APP 有一个基本认识,而且在倒数的时候也预留给咱们一些对插件和一些必须或者耗时的初始化做一些准备。 Ps:这里会让面试官感觉你是一个注重用户体验的 2 .通过翻阅 Application 启动的源码,当我们点击桌面图标进入我们软件应用的时候,会由 AMS 通过 Socket 给

反杀套路!阿里独家的《Android 开发相关源码精编解析》王者晋级之路,跟弯路说再见!

末鹿安然 提交于 2020-09-23 16:52:15
一、前言 Android开发人员都知道,阅读源码是非常好的学习方式,在我们日常工作中或多或少都会接触一些开源代码,比如说最常用的MMKV、ARouter、AsyncTask,这些源码的普及与应用程度远远超过我们的想象,正因为很多人使用,也在推动着源码不断地完善。 这些优秀的源码中有着多年积淀下来的精华,这些精华是非常值得我们学习的,不管我们当前是什么水平,通过反复阅读源码,能力都会有所提升,小到对源码所提供的功能上的使用更加熟练,大到使我们的程序设计更加完美优秀。 但是,纵观我们身边的人,能够做到通读源码的真的是少之又少,究其原因,不外乎以下几点。 1.阅读源码绝对算得上是一件费时费力的工作,需要读者耗费大量的时间去完成。 而作为开发人员,毕竟精力有限,实在没办法拿出太多的时间放在源码的阅读上。 2.源码的复杂性。 任何一款源码经历了多年的发展与提炼,其复杂程度可想而知。当我们阅读源码的时候,大家都知道需要通过工具来跟踪代码的运行,进而去分析程序。但是,当代码过于复杂,环环相扣绕来绕去的时候,跟进了几十个甚至几百个函数后,这时我们已经不知道自己所处的位置了,不得不再重来,但是一次又一次地,最终发现自己根本无法驾驭它,不得不放弃。 3.有些源码发展多年, 会遇到各种各样的问题,并对问题进行了解决,而其中有些问题对于我们来说甚至可以用莫名其妙来修饰,有时候根本想不出会在什么情况下发生

Glide 4.11 源码解析(一):图片加载流程

雨燕双飞 提交于 2020-08-12 06:43:40
1.前言 Glide 是一个图片加载框架,可以在 Android 平台上以简单的方式来加载和展示图片。 通过Glide.with(this).load(url).into(imageView) 一句代码就可以搞定。虽然调用方式很简单,但是内部的实现却不简单。下面将根据这句代码展开梳理 Glide 如何实现加载网络图片。 2. Glide.with(context) Glide 类的继承关系如下所示: 在 Glide 类中,根据传入的参数不同,总共重写了6个 with方法,这里将以比较常见的 Activity 为例子去追溯实现原理: @NonNull public static RequestManager with(@NonNull Context context) { return getRetriever(context).get(context); } @NonNull public static RequestManager with(@NonNull Activity activity) { return getRetriever(activity).get(activity); } public static RequestManager with(@NonNull FragmentActivity activity) { return getRetriever

仿写Eyepetizer项目总结

北战南征 提交于 2020-08-09 02:49:03
github地址 : https://github.com/madethatold/eyepetizer (含apk) 本项目仅供学习借鉴使用,请勿用做商业用途,项目若有侵权,请联系作者删除 一.效果图 二.项目中第三方依赖 okhttp OkHttp is an HTTP client that’s efficient by default gson 谷歌提供的开源库-(将一段JSON格式的字符串自动映射成一个对象) Tablayout控件 顶部导航栏 结合viewPager使用 Glide Glide is a fast and efficient image loading library for Android focused on smooth scrolling litepal allows developers to use SQLite database extremely easy 一款开源的Android数据库开发框架,采用了对象关系映射(ORM)的模式 SmartRefreshLayout 下拉刷新框架 Banner 第三方开源库 –内部基于ViewPager2实现的轮播控件 circleimageview A fast circular ImageView perfect for profile images. 将imageview圆形化的开源库