Android知识收集 App Icon Generator,图标生成支持android, ios。抓包工具-Reqable下载.Android各尺寸图标生成。阿里云云效Maven。m3u8 在线播放器。
android APP内存优化 出厂后,java虚拟机对单个应用的最大内存分配就确定下来了,超出这个值就会。如果要获取手机的总内存,可以使用如下方法。针对不同手机获取app内存信息,可通过。不同厂商和机型可能不一样。.单个进程能使用的最大内存为。在代码中获取可使用的最大内存。可以使用更大的内存, 即。配置使用最大内存,在。
ViewPager+Fragment 销毁重建问题 保存的引用调用,出现了崩溃 (此时的。等生命周期方法,不能拿来用)。查找,使用查找到的进行展示。保存的值 与 真实展示的。并不是使用新建,而是从。保存的,直接使用会出错。
Android 包体积优化 点击菜单栏的Code,选择Analyze Code -> Run Ispection by Name。这个“app”即你的项目,下面的每个item都是无用资源文件,逐个删除即可。看下哪部分占有的空间比较大,会自动按照文件大小逆向排序。
flutter学习之Dart语言 Dart是由谷歌开发的计算机编程语言,它可以被用于web、服务器、移动应用 和物联网等领域的开发。Dart诞生于2011年,号称要取代JavaScript。但是过去的几年中一直不温不火。直到Flutter的出现现在被人们重新重视。要学Flutter的话我们必须首先得会Dart.
android WebView常用总结 常用方法webview 官方文档:传送门WebView wv = findViewById(R.id.web_view);WebSettings settings = getSettings();settings.setJavaScriptEnabled(true); //启用js//设置缓存模式,缓存模式如下settings.setCacheMode(WebSettings.LOAD_DEFAULT);缓存的模式WebSettings.LOAD_DEFAULT 如果本地缓存可用且没有过
TabLayout使用总结-一步步实现动画效果 期望效果根据UI设计,我们期望实现一个如下效果的Layout,看效果很适合用ViewPager+TabLayoutTabLayout学习在开始动手前我们先了解下TabLayout. 他的实现是通过HorizontalScrollView,里面添加了一个view即SlidingTabIndicator,我们看到的指示器是通过drawable的绘制实现的。TabLayout支持了很多属性。具体可参考源码,注释部分对属性介绍很详细。这里我们总结了一些常用的属性。tabMode Tablayout的
Kotlin协程笔记 概述在Kotlin中,协程是一套由Kotlin官方提供的线程API。它有优点:可以通过看似同步的方式写出异步代码。这也是协程的特性之一 非阻塞式挂起。可以解决地狱回调的问题。例如,如下代码形式launch({ val user = api.getUser() // ???? 网络请求(IO 线程) nameTv.text = user.name // ???? 更新 UI(主线程)})协程的使用在需要切换线程或者指定线程的时候 用到协程。怎么来使用协程,先了解最基
android interview 2 这里介绍和java关联比较大的知识类加载机制java的类加载机制在 Java 程序启动的时候,并不会一次性加载程序中所有的 .class 文件,而是在程序的运行过程中,动态地加载相应的类到内存中。通常情况下,Java 程序中的 .class 文件会在以下 2 种情况下被 ClassLoader 主动加载到内存中:调用类构造器调用类中的静态(static)变量或者静态方法JVM 中自带 3 个类加载器:启动类加载器 BootstrapClassLoader扩展类加载器 ExtClass
wsl搭建android编译环境 概述在windows下,我们不太好执行一些脚本,像shell,如果之前项目有写过一些脚本,为了兼容windows可以通过搭建wsl环境,来执行。准备工作windows安装wsl通过windows应用商店安装,在windows应用商店搜索linux或者wsl,选择Unbuntu或者其他linux系统。然后执行起来,就是一个linux系统。我们的C盘,D盘,分别对应,linux的/mnt/c,/mnt/d 目录。其他目录同Linux,需要对Linux有一定的了解。熟悉linux的一些命令wsl 是
Window10 恢复应用商店 如果win10找不到应用商店,可以通过以下方法恢复。启动PowerShell需要以管理员权限运行在“开始”菜单,输入powerShell,右键以管理员权限执行。找到你的windowsStore 安装目录每个系统对应的包名不同,安装目录也不相同, 通过下面命令查看Get-AppxPackage -allusers如上图所示,把Name=Microsoft.WindowsStore的目录拷贝下来,接下来要用。添加到注册文件执行如下命令,等命令执行完,即可在“开始”菜单找到,windows应用
android interview 为什么不建议使用Intent传递大的数据Intent 传递大数据,会出现 TransactionTooLargeException 的场景。简单来说,Intent 传输数据的机制中,用到了 Binder。Intent 中的数据,会作为 Parcel 被存储在 Binder 的事务缓冲区(Binder transaction buffer)中的对象进行传输。而这个 Binder 事务缓冲区具有一个有限的固定大小,当前为 1MB。你可别以为传递 1MB 以下的数据就安全了,这里的 1MB 空间并不是当前操
android jetpack总结 LivedataLiveData 是一个可被观察的数据持有类。与普通的被观察者(如 RxJava 中的 Observable)不同的是,LiveData 是生命周期感知的,也就是说,它能感知其它应用组件(Activity,Fragment,Service)的生命周期。这种感知能力可以确保只有处于 active 状态的组件才能收到 LiveData 的更新。LiveData 是一个抽象类,我们不能直接使用。我们可以使用它的子类:MutableLiveData MediatorLiveDataMutab
android proguard 基本操作android混淆是为了代码安全。在build.gradle中可以配置。buildTypes { release { minifyEnabled true proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } }如上,将minifyEnabled设为true就开启了混淆。
android难点汇总 Handler了解Handler的原理。梳理Android的消息机制谈谈handler容易导致内存泄漏的原因。private Handler mHandler = new Handler() { @Override public void handleMessage(Message msg) { ... } };当使用内部类(包括匿名类)来创建Handler的时候,Handler对象会隐式地持有Activity的引用
android开发常见编译错误 databinding在xml中使用汉语的错误报错信息Caused by: org.apache.xerces.impl.io.MalformedByteSequenceException: Invalid byte 3 of 3-byte UTF-8属于不同平台下,字符集不同导致的。xml使用的字符常量,还是要定义在strings.xml中。解决方案:见 传送门1 传送门2...
Gradle for Android groovy篇 命令行我们在Android Studio中,打开底部 Terminal tab页,就可以使用命令来操作了,例如git,gradle等。gradle的命令工具是 gradlew.在不同系统下,命令引用略有区别。在linux, macOs下,执行命令,./gradlew xxx 在windows下执行命令gradlew xxxgradle常用命令./gradlew tasks #查看主要任务./gradlew tasks --all #查看所有任务,包括缓存任务等./gradlew :modu