Android
文章平均质量分 61
123_000000
这个作者很懒,什么都没留下…
展开
-
Fragment的可见性判断
1.add/remove/replace() 导致Fragment被添加和移除,从而改变isVisible()的返回值 ,这些操作会执行Fragment的生命周期 2.hide /show 只会走方法onHiddenChanged 从而改变 isHidden() 支持手动调用 3. setUserVisibleHint 则是给ViewPage 管理时候的调用的 从而改变 getUserVisibleHint() 支持手动调用...原创 2020-09-29 15:37:29 · 270 阅读 · 0 评论 -
JetPack WorkManager
WorkerManager要求必须在前一个后台任务运行成功后,下一个后台任务才会运行,也就是说,如果某个后台任务运行失败,或者被取消了,那么接下来的后台任务就都得不到运行了原创 2020-08-05 19:51:25 · 285 阅读 · 0 评论 -
Android 图片动画
1、使用帧动画。但是一个动画需要添加很多张图片,apk体积必然变大,并且还要根据不同的尺寸进行适配。2、用 Gif。但是使用Gif 占用空间较大,同样需要为各种屏幕尺寸、分辨率做适配,同时原生Android本身是不支持gif直接展示的。3、编码加图片辅助。这种方式繁琐并且不易维护,稍作修改就要推倒重新来过。4、Android 5.x 之后提供了对 SVG 的支持,通过 VectorDrawable、AnimatedVectorDrawable 的结合可以实现一些稍微复杂的动画。矢量图在很久很原创 2020-08-04 10:55:53 · 262 阅读 · 0 评论 -
JetPack ViewModel
初始化.无参class MyViewModel : ViewModel() {}// Activity中调用class MyActivity : AppCompatActivity() { val model: MyViewModel by viewModels()//1 override fun onCreate(savedInstanceState: Bundle?) { val model = ViewModelProviders.of(this.原创 2020-08-04 10:40:14 · 154 阅读 · 0 评论 -
JetPack LiveData
map()和switchMap()https://blog.csdn.net/a1203991686/article/details/106952398/map : 强调的是,新的LiveData的值必须基于旧的LiveData中的值switchMap :他并不在意这些,他在意的是他会将旧的LiveData的值作为一个触发,作为一个switch,他不管你你到底是利用这个switch做判断返回不用的值,还是你利用这个值去网络请求生成新的值(比方说旧的LiveData存了用户名,...原创 2020-07-31 17:59:50 · 101 阅读 · 0 评论 -
Retrofit Interceptor网络拦截器
1、网络拦截器处理修改参数(Content-Type:application/json) private static final Interceptor requestInterceptor = chain -> { Request request = chain.request(); //1、修改POST请求参数,可用于添加默认参数 if (request.method().equals("POST")) { .原创 2020-07-28 16:48:43 · 981 阅读 · 1 评论 -
Android getScrollX() 、scrollBy()、 scrollTo() 、getX、getRawX、getTranslationX等的图形表示
1、getScrollX() 原点(0,0)为view左上角的坐标点。实际移动的为view的内容而并非view本身,返回值为view的内容相对于view本身的水平或者垂直方向的偏移量。 getScrollX():原点X坐标减去view内容移动后 内容左上角X坐标(左移正,右移负) getScrollY():原点Y坐标减去view内容移动后 内容左上角Y坐标 (上移正,下移负)2、scrollTo()、scrollBy()scrollTo()源码/** ...原创 2020-07-07 20:13:21 · 277 阅读 · 0 评论 -
android ImageView长图不显示
同一张长图,在ImageView上 加载时,部分手机不显示。提示如下异常:W/OpenGLRenderer: Bitmap too large to be uploaded into a texture (1080x18151, max=16384x16384)原因:当APP开启硬件加速的时候,GPU对于openglRender 渲染有一个限制值,超过了这个限制值,就无法渲染,...原创 2020-04-22 19:01:46 · 580 阅读 · 0 评论 -
filter、forEach、map、flatMap
forEach ArrayList<User> users = new ArrayList<>(); // Java 8+ users.forEach(user -> { Log.e("nick", user.getNick()); }); ...原创 2020-03-31 10:31:52 · 209 阅读 · 0 评论 -
Program type already present: com.umeng.analytics.AnalyticsConfig
一通操作之后 ,不晓得怎么蹦出这么个鬼。各种修改未找到原因,网上查询implementation 'com.umeng.analytics:analytics:latest.integration' 有人说是未确定版本号导致的,但修改之后 无效。最终查询官网替换最新包配置搞定https://developer.umeng.com/docs/119267/detail/118584...原创 2020-02-26 11:36:15 · 2234 阅读 · 0 评论 -
ViewPager异常
1、 Java.lang.IllegalStateException: The application's PagerAdapter changed the adapter's contents without calling PagerAdapter#notifyDataSetChanged! Expected adapter item count: 6, found: 3 Pag...原创 2019-11-08 09:53:04 · 265 阅读 · 0 评论 -
启动虚拟机异常
1、无法启动虚拟机 提示 BIOS里的"Virtualization Technology"没有打开 , 不同电脑进入BIOS热键不同,我的电脑 重启 出现thinkPad logo时按F1切换到Security 下的Virtualization切换为Enable,按照指令保存退出,启机2、启动Android studio,运行虚拟机,提示异常Log...原创 2019-07-21 20:35:19 · 475 阅读 · 0 评论 -
图片缓存--Fresco
Fresco中文文档本文完全从官网中摘录,用于自身学习时简单记录,详细可查看官文关于Android图片缓存,这是一个android程序员必须了解的。关于四大图片缓存框架的特性与对比,请移步MDCC传送门关于Fresco的介绍,请查看链接Fresco是一个强大的图片加载组件 Fresco中设计有一个叫做image pipeline 的模块。他负责从网络,从本地文件系统,本地...原创 2016-09-23 16:18:01 · 419 阅读 · 0 评论 -
TextView的DrawableRight图片
1、在xml中为TextVIew添加Drawable <TextView android:id="@+id/textview" android:layout_width="match_parent" android:layout_height="wrap_content" android:原创 2016-09-18 17:32:11 · 317 阅读 · 0 评论 -
AlertDialog 修改文本内容的颜色
最近遇到一个问题在原创 2014-10-29 10:24:07 · 2734 阅读 · 0 评论 -
Managing the System UI
一、淡化状System Bars 1、Dim the Status and Navigation Bars 在Android4.0 或者更高版本中使用 SYSTEM_UI_FLAG_LOW_PROFILE 如下// This example uses decor view, but you can use any visible view.View decorView = getActivi翻译 2014-09-26 14:32:51 · 836 阅读 · 0 评论 -
android源码查看 android-support-v4.jar
Android SDK在extras目录中同样提供了support包的源码,当然前提是你使用Android SDK Manager下载过了Android Support Library。当我们使用到support包的时候,它一般都会静静的躺在libs目录里,这个时候我们只需要在同一个目录下建一个properties文件,名字跟你所用的support jar包相同,即android-support-转载 2014-11-27 15:13:38 · 432 阅读 · 0 评论 -
fastjson解析数据
Fastjson是一个Java语言编写的高性能功能完善的JSON库。fastjson采用独创的算法,将parse的速度提升到极致,超过所有json库,包括曾经号称最快的jackson。并且还超越了google的二进制协议protocol buf。Fastjson完全支持http://json.org的标准,也是官方网站收录的参考实现之一。支持各种JDK类型。包括基本类型、JavaBean、Coll原创 2015-11-30 11:58:15 · 594 阅读 · 0 评论 -
Android 混淆
虽然做了几年开发,但混淆在前两个公司还真没有接触过,被领导一问,“没做过?”感觉耳朵都红了,⊙﹏⊙b汗,赶紧补习了下,再此做个记录,希望遇到对混淆同样不了解的人能有所帮助。不经混淆的代码,apk反编译就会将代码全部暴露出来,所以为了自己的劳动成果不被窃取,混淆代码是一定要做的。 1.proguard-project.txt 新建项目,项目目录下面的proguard-project.t原创 2016-01-18 13:28:07 · 2830 阅读 · 0 评论 -
避免Toast连续弹出
很多时候,如果用户持续执行一种操作,会连续执行Toast提示,即便用户将app运行到后台,Toast还是会持续弹出,为避免此情况,可以使用以下方法,一个Toast没有结束的时候再显示Toast不累加时间,而是打断当前的Toast,显示新的Toast。这样Toast就不会停留在界面很久。而最多显示一个Toast提示时间的。private Toast mToast=null;pu原创 2016-01-21 10:52:05 · 868 阅读 · 0 评论 -
Android 性能的建议
Activity 泄漏我们第一个需要修复的问题就是 Activity 泄漏,我们先来看看内存泄漏是怎么发生的。 Activity 泄漏通常是内存泄漏的一种。为什么会泄漏呢?如果你持有一个未使用的 Activity 的引用,其实也就持有了 Activity 的布局,自然也就包含了所有的 View。最棘手的是持有静态引用。别忘了,Activity 和 Fragment 都有自己的生命周期。一旦我们转载 2016-01-11 17:31:20 · 389 阅读 · 0 评论 -
android meterdesign 动画 (二)
Material 新增动画 :Touch feedback(触摸反馈)Reveal effect(揭露效果)Activity transitions(Activity转换效果)Curved motion(曲线运动)View state changes (视图状态改变)Animate Vector Drawables(可绘矢量动画)触摸反馈(波纹效果Ripple)常用效果原创 2016-04-05 18:51:18 · 687 阅读 · 0 评论 -
Android MeterDesign(一)
请查看下面这个视频作为本教程最终的结果。从这里开始,空白 Activity 里面有一个 DrawerLayout 。Activity 已经调整为材料设计风格的主题。 #2196F3 #1565C0 #E91E63 好了,让我们开始吧!第一步:拷贝源码整理后会将代码上传第二步:添加原创 2016-04-01 15:43:19 · 2050 阅读 · 2 评论 -
RxJava 初级学习
1、简介响应式编程是一种面向数据流和变化传播的编程范式。通过Rx框架我们可以很好地使用该范式。以下为官网对该框架的解释:ReactiveX is a library for composing asynchronous and event-based programs by using observable sequences.It extends the observer pat原创 2016-04-13 18:14:49 · 943 阅读 · 0 评论 -
Android 远程图片Bitmap进行展示时,OutOfMemory
在Android应用里,最耗费内存的就是图片资源。而且在Android系统中,读取位图Bitmap时,分给虚拟机中的图片的堆栈大小只有8M,如果超出了,就会出现OutOfMemory异常。所以,对于图片的内存优化,是Android应用开发中比较重要的内容。我们去解析一个图片,如果太大,就会OOM,我们可以设置压缩比例inSampleSize,但是这个压缩比例设置多少就是个问题,所以我们解析图片原创 2014-03-19 10:40:52 · 938 阅读 · 0 评论