分类: Android

77 篇文章

Android 模拟器加速
最近重装的系统运行模拟器特别慢,查证了下原来硬件加速没开。由于NVDIA默认是用INTEL的核心显卡来运行桌面程序,独显在没游戏的电脑上基本没使用过,通过WINDOWS 10的新的任务管理器发现Android 模拟器运行是,GPU的使用没变化,测试一个播放器就有变化,于是Google下是模拟器有硬件加速和软件加速的。依据下图来设置。可以通过添加程序…
runOnUiThread 、Handler.post、View.post 有什么区别? – Android – 掘金
该文章已经收集到面试题整理(可在首页点击底部 Tab 看到)。 在上篇公众号文章中,我提了一个问题,如下图: 想得到答案,就得知道 runOnUiThread 、Handler.post、View.post 三者的区别。 来源: runOnUiThread 、Handler.post、View.post 有什么区别? - Android - 掘金 …
RecyclerView Item 布局宽高无效问题探究
前言 这个问题很早之前就碰到过,后来通过google找到了解决办法,也就没有去管它了,直到最近有朋友问到这个问题,感觉很熟悉却又说不出具体原因,因此,就想通过源码分析一下。顺便做个总结,避免以后出现类似的问题。  问题复现 为什么发现了这个问题呢?是当时要写一个列表,列表本来很简单,一行显示一个文本,实现起来也很容易,一个Recycler…
Android 清理backstack
在一些情况下可能并不需要在Low Memory时保存backstack以免在Restore时会影响onCreate中的Fragment的创建。所以必须在onSaveInstanceState中消除栈。 Method OneFragmentManager fm = getActivity().getSupportFragmentManager(); …
Android NestedScrolling 解析
产生原因 由于在Android上进行滑动的控件在手机性能越来越好的情况下,人们已经习惯于常用的手势进行操作,出现许多控件滑动时需要去协调同一个界面的滑动的情况。例如在同一个方向内外(上下)的嵌套,不同方向(上下与左右方向)的嵌套等。解决这类嵌套可以通过Android开发艺术书上讲的内部拦截法和外部拦截法去解决,但是,在处理多个View的协调时使用外…
RxJava 1 到RxJava2
RxJava2 目前已经在国外一些应用使用上,国内应用也有部分用于生产环境,是时候考虑切换到RxJava2。RxJava2主要是解决了Backpressure, 设计符合Reactive-Streams规范,以及其它一些更新。 RxJava 1.X升级RxJava 2.X部分变更 描述 RxJava 1.X RxJava 2.X package包名…
Retrofit 2 动态URL
问题 使用Retrofit2一般都是针对于一baseURL,其它接口都是拼接不同的参数如get/photo,search?name=xiaohong&&sex=female,这样的形式。但是一些请求此时又要访问不同的url只能重新生成一个Retrofit2实例,实质上还有一种形式去处理,就是使用@url注解。 解决方案 public…
Android 内存泄露与解决方案
内存泄露 Java内存泄漏指的是进程中某些对象(垃圾对象)已经没有使用价值了,但是它们却可以直接或间接地引用到gc roots导致无法被GC回收。无用的对象占据着内存空间,使得实际可使用内存变小,形象地说法就是内存泄漏了。下面分析一些可能导致内存泄漏的情景。 非静态内部类的静态实例容易造成内存泄漏 activity使用静态成员 handler 非静…
Android ConstraintLayout
ConstraintLayout 配合Android Studio 2.3版本使用ConstraintLayout即可以节省时间,同时也可以解决复杂布局马嵌套过深引起的性能问题。 那么看一看Android Studio2.3工具给带来的方便性,一些常用的align,chain等方式简单通过这些工具就可以解决。由于使用ConstraintLayout…