android学习
zkq49099
这个作者很懒,什么都没留下…
展开
-
【android学习】记录应用内存优化
图片优化(效果最明显) 过度图片的回收 原因分析:在做冷启动时候,很多人写一个如下 <style name="MainTheme" parent="@android:style/Theme.Wallpaper.NoTitleBar"> <item name="android:windowNoTitle">true</item> <item name="android:windowTransluc...原创 2020-05-22 11:36:40 · 399 阅读 · 0 评论 -
【android学习】查看应用应用内存
查看内存方法在adbshell条件下面使用如下指令查看内存dumpsys meminfo com.incall.autofly.launcher | grep TOTAL:获得的占用内存大小如下:TOTAL: 128582原创 2020-05-20 10:42:42 · 1181 阅读 · 0 评论 -
【android学习】多用户发送广播
简介在开发中,遇到Calling a method in the system process without a qualified user这样的错误原因:在Android 4.2以后,增加了多用户,需要使用如下发送广播context.sendBroadcastAsUser(intent,UserHandle.ALL);添加权限<uses-permission a...原创 2020-01-16 16:04:46 · 3058 阅读 · 0 评论 -
【android学习】android常用adb命令(持续更新)
android使用adb命令查看设备尺寸和密度adb shellwm size 屏幕大小1920x720wm density 屏幕密度 160wm density 240 修改屏幕密度为 240查看keystore的签名keytool -list -keystore D:\app_key.jks查看apk签名keytool ...原创 2019-12-04 17:03:26 · 173 阅读 · 0 评论 -
【android学习】沉浸式状态栏解决方案
stytle方式用stytle方式设置,需要兼容4.4一下,4.4到5.0,以及5.0以上版本/values/stytle.xml <!-- 状态栏透明设置 必须是4.4以上的版本--> <item name="android:windowTranslucentStatus" tools:targetApi="kitkat">true&...原创 2019-11-26 16:04:32 · 339 阅读 · 0 评论 -
【android学习】Android系统根目录结构及说明
/system目录/system/app/ 存放系统应用,包括google预先绑定得app,厂商或运营商得app(这些app应该放在/vendor/app目录)/system/bin主要是Linux系统自带的二进制可执行文件/system/build.prop记录了系统的设置和改变/system/etc存放安卓系统配置文件/system/fonts 存放各种字体/s...原创 2019-11-19 17:16:28 · 2215 阅读 · 0 评论 -
【android学习】Jetpack:Room数据库
简介google公司推出的一款类似GreenDao、OrmLite的数据库框架添加依赖dependencies { implementation 'android.arch.persistence.room:runtime:2.2.0' annotationProcessor 'android.arch.persistence.room:compiler:2.2.0'...原创 2019-10-15 14:37:35 · 197 阅读 · 0 评论 -
【android学习】Jetpack:LiveData共享数据
简介前面讲解了LiveData的简单使用Jetpack:LiveData的简单使用,这里主要讲解livedata的数据共享我们这里使用LiveData进行两个fragment之间通信,达到如下效果先看ViewModel类public class NameViewModel extends ViewModel { //liveData通常和viewModel一起使用...原创 2019-10-13 15:49:02 · 859 阅读 · 0 评论 -
【android学习】Jetpack:LiveData的简单使用
简介LiveData提供可观察的数据持有者类; LiveData与Fragment、Activity、Service一起持有相同生命周期,LiveData仅更新处于活动生命周期状态的应用程序组件观察者; 提供数据共享。具体优点可以参考官方文档,我们这里简单使用创建LiveDataViewModel类这里我们在MutableLiveData中存放了一个User类,这样就将User类...原创 2019-10-12 16:57:38 · 209 阅读 · 0 评论 -
【android学习】Jetpack:Lifecycle的简单使用
简介通过观察者模式的思路去对外响应生命周期变化,简单使用在数据埋点中引包 implementation 'androidx.lifecycle:lifecycle-extensions:2.0.0'编写自己的MyLifeObserver 需要继承LifecycleObserver ,这里我只监听了activity的onCreate 和 onStart方法publ...原创 2019-10-11 17:08:23 · 176 阅读 · 0 评论 -
【android学习】Jetpack:DataBinding在recycleview中的使用
简介这文章是结合前面一篇文章写的后续使用,给定的demo包含了上一篇文章的代码,如果有不了解的,可以移步Jetpack:DataBinding数据绑定直接上代码public class MyAdapter extends RecyclerView.Adapter<MyAdapter.MyViewHolder> { public Context cont...原创 2019-10-11 16:44:56 · 594 阅读 · 0 评论 -
【android学习】Jetpack:DataBinding数据绑定
简介2018年谷歌I/O 发布了一系列辅助android开发者的实用工具,合称Jetpack,以帮助开发者构建出色的 Android 应用。我们这里主要学习Architecture Components(架构组件),这个组件分为8大模块:Data Binding,Lifecycles,LiveData,Navigation,Paging,Room,ViewModel,WorkManager...原创 2019-10-10 17:37:25 · 433 阅读 · 0 评论 -
【android学习】MVP学习
mvp与mvc得区别上面这张图是网上找的,可以明显得区别MVP和MVC我们先看一下MVC模型层(model):相当于我们得网络请求 视图层(view):相当于我们得布局文件 控制层(controller):相当于我们得activity相当于我们得activity即要和我们得布局文件打交道,又要和我们得数据层打交道,使得我们得activity就会有相当多得代码,可读性降低,而M...原创 2019-09-21 18:31:33 · 118 阅读 · 0 评论 -
【android学习】android动态代理
简介为其他对象提供一种代理以控制对这个对象的访问。某些情况下,一个对象不适合或者不能直接引用另一个对象,而代理对象可以再两者之间起到中介作用。运行阶段才指定代理哪个对象 静态代理 Subject 类public interface Subject { public void sayGoodBye(); public void sayHello(String ...原创 2019-09-16 17:32:44 · 350 阅读 · 0 评论 -
【android学习】okhttp备注
简介这里是基于com.squareup.okhttp3:okhttp:3.14.1OKhttp.builder注释 public static final class Builder { Dispatcher dispatcher; //调度器 /** * 代理类,默认有三种代理模式DIRECT(直连),HTTP(http代理)...原创 2019-08-29 09:26:49 · 110 阅读 · 0 评论 -
github中优秀得开源库
Lottie github地址:https://github.com/airbnb/lottie-android通过adobe affter effects制作动画,通过AE插件bodymovin到处json动画,给android以及ios使用,生成原生动画效果PreviewSeekBar github地址:https://github.com/rubensousa/PreviewSeek...转载 2018-02-26 14:06:17 · 292 阅读 · 0 评论 -
HermesEventBus初步体验
HermesEventBus简介HermesEventBus是一个基于EventBus的、能在进程间发送和接收event的库,在IPC或者插件开发中非常有用。它底层基于EventBus,并且和EventBus有相同API。EventBus是Android系统上使用最广泛的简化模块之间通信的库。但它不支持进程间收发事件。所以,我开发了HermesEventBus来支持进程间事件收发。...原创 2019-07-04 17:35:18 · 649 阅读 · 0 评论 -
【android学习】java反射初解
简介有时候我们通过实例拿去不到的private参数,方法等的时候,我们就可以使用反射拿去,我们以一个person类举例使用方式person.javapublic class Person { public int id; private String name; public Person() { } public Person(int ...原创 2019-07-19 14:12:51 · 104 阅读 · 0 评论 -
【android学习】APP图片内存计算
图片尺寸大小计算当图片文件放在项目的drawable目录时候:drawable文件尺寸与pc中文件尺寸关系目录 屏幕密度 drawable-ldpi 120dpi drawable-mdpi 160dpi drawable-hdpi 240dpi drawable-xhdpi 320dpi drawable-xxhdpi 480dp...原创 2019-07-30 18:25:11 · 399 阅读 · 0 评论 -
【android学习】AIDL跨进程通信
简介AIDL 意思即 Android Interface Definition Language,翻译过来就是Android接口定义语言,是用于跨进程之间通信AIDL支持的数据类型分为如下几种:八种基本数据类型:byte、char、short、int、long、float、double、boolean String,CharSequence 实现了Parcelable接口,S...原创 2019-08-07 17:49:10 · 119 阅读 · 0 评论 -
【android学习】RXJava2方法简介
简介一个可观测的序列来组成异步的、基于事件的程序的库。(简单来说:它就是一个实现异步操作的库)GitHub地址:https://github.com/ReactiveX/Rxjava三个基本元素 分别为被观察者(Observable),观察者(Observer),订阅者(subscribe)观察者(Observable)onSubscribe() 订阅观察者的时候...原创 2019-08-20 22:47:37 · 135 阅读 · 0 评论 -
【android学习】泛型通配符extends与super区别
泛型关键字说明<? extends T>:是指 “上界通配符”?>=T <? super T>:是指 ”下界通配符“?<=T类型结构图在类中 extends 与 super对比?所代表得类,是Meat得父类 即?>=Meat ,本例中?这里可以代表为Meat,Food这两种类型 补充: 出错的两句的?这里,泛型要求传...原创 2019-08-23 15:29:37 · 297 阅读 · 0 评论