
android学习总结
memoryjs
这个作者很懒,什么都没留下…
展开
-
AssertionError: Could not generate LightClass for,kotlin和java相互集成的错误
最近遇到了这个问题,如标题所示,原因和奇葩A类是Java写的,B类是Kotlin写的,B继承自A类C类是用Java写的,C继承自B类D类使用Kotlin写的,D类继承自C类编译的时候,该问题就显示在D类在开发的时候,Kotlin集成自Java没有问题,基本没出过什么问题,而反过来,java继承Kotlin的类,就很容易出问题,更何况这种来回继承的情况,记录下来,希望对其它小伙伴有帮助记住,Kotlin继承Java可以,Java最好不要反过来集成,会出很多诡异的问题...原创 2021-03-26 09:01:03 · 266 阅读 · 0 评论 -
Android soundpool release卡住
前两天做一个feature,用soundPool去播放声音,但是在结束的时候会卡住,以为是程序哪里出了问题,经过排查,发现是因为soundPool在release的时候卡住了将近20s左右,而且soundPool如果在你页面销毁后,10s不释放,系统就会抛出fatal的异常,告诉你soundPool没有在10s释放那么问题来了,为什么soundpool会卡住,我百度,google了很长时间,都是在讲什么时候load,什么时候release,为什么有时候soundPool没有声音之类的问题,没有人遇.原创 2020-12-17 09:51:02 · 976 阅读 · 0 评论 -
多module(模块)使用Navigation功能
Navigation相信大家都熟悉,网上也有很多教程,但是很少有多Module切换的时候,要怎么使用的,用百度搜索了各种都没找到,后来用Google,一会就搜到了方法思路是这样的:通过包名,导航文件,找到导航id,而不用module之间相互依赖interface NavigationGraphRoute { val navigation: String get() = "navigation" var navGraph: NavGraph /**原创 2020-11-12 17:18:44 · 1811 阅读 · 8 评论 -
基于Android的Camera2封装,可以实时获取到预览画面和图片
Android的Camera比较难用,从一代到二代的API接口,对开发者都不友好,这两天正好做个项目,要实时获取到预览画面的图片,使用Camera2做,看了Google的Demo,只能拍照,没法有实时回调,类似于Camera1的OnPreviewCallBack,查阅得知,Camera2用ImageReader来实现,基于源码,自己封装了一个类,先看看分装后的写法public cla...原创 2019-10-17 14:35:43 · 1990 阅读 · 0 评论 -
方舟编译器第一次尝试
华为的方舟编译器开源了,这是一个可以绕开jvm的编译神器,提高运行速度,这个足以让中国人骄傲了! 抱着好奇的态度,按照官方网站的指示,下载了一下源代码(官网百度搜不到,我用咕果才搜到,链接:https://www.openarkcompiler.cn/home),为了方便大家下载,我 已经把其中三个工具打包上传了,还有另外一个太大了,超过了300M,传不上来,下载地址:htt...原创 2019-09-11 17:25:47 · 6147 阅读 · 0 评论 -
Android 下隐藏虚拟导航栏的方法,不需要root,需要的时候调出,弹dialog不会闪现
相信做安卓开发的人员对虚拟导航栏都有着特殊的经历,在没有root的情况下,如果隐藏它? 有的时候我们需要这样一个场景,它会自动隐藏,不论我点击屏幕,或者弹出dialog,都不希望它弹出来,只有我需要用的,手指上划显示即可,不需要的时候永远不要出来。 笔者也在网上搜索了好多文章,大多数都是设置windows的flag,然后监听,只要出现虚拟导航栏,就隐藏,这样大多数场景都可以,但...原创 2018-03-23 17:56:33 · 5585 阅读 · 11 评论 -
计算ListView的高度终极版,考虑到多行textview的情况
在一些时候,我们需要计算Listview的情况,一般来说,网上的许多代码都可以完成计算高度,但是如果遇到textview多行的情况,往往发现计算就不准确了,我找了网上一些方案,结合自己的实验,给出一套最终的解决方案,希望对大家有所帮助 private int getListviewHeight(ListView pull) { ListAdapter l原创 2017-08-16 09:54:21 · 2271 阅读 · 3 评论 -
dumpsys alarm 格式解读
最近在搞应用唤醒排序,一致疑惑dumpsys alarm后的一些东西到底是什么意思?通过几番查阅资料,总结如下: 在安卓adb root进如命令行后(没有root或者root群组的权限执行不了该命令),会吐出一串东西,大家可自行测试。一直不明白,这些格式是什么意思,今天搜索一下,stackvoerflow中找到了一个比较牛的答案,原文地址: http://stac原创 2015-09-24 14:23:29 · 8514 阅读 · 3 评论 -
Android中App耗电量统计核心函数注解
本文针对Android 5.0 以及以版本,对APP耗电量统计的核心函数,processAppUsage 进行解读,代码中增加了大量注释以及笔者个人的理解。 private void processAppUsage(SparseArray asUsers) { final boolean forAllUsers = (asUsers.get(UserHandle.USER原创 2015-10-09 14:50:00 · 5391 阅读 · 0 评论 -
安卓获取蓝牙状态
笔者最近一直在做蓝牙状态获取方面的事情,总结出一套获取蓝牙状态的代码,分享如下:private BluetoothAdapter ba ; //蓝牙适配器ba = BluetoothAdapter.getDefaultAdapter(); //蓝牙的状态int isBlueCon = -1 ; //蓝牙是否连接//蓝牙适配器原创 2015-01-21 15:17:13 · 22266 阅读 · 5 评论 -
安卓 SD卡写入文件后不能立即显示被写入的文件解决方法
每次通过输出流往SD卡写入文件,连接上电脑,用MTP的方式模拟一个移动磁盘,打开磁盘却没有这样一个文件,而通过adb的方式查看就有,造成这个现象的原因是,每次写入之后,MTP的数据库并没有更新,因为更新一次MTP数据库需要的带价比较大,所以只有在重启,挂载和用户手动发送Intent出发,故存入文件后需要手动发送Intent广播,出发一下MTP数据库的更新。/** * 出发扫描 mt原创 2015-01-21 15:43:33 · 5386 阅读 · 2 评论 -
巧妇能为少米之炊(3)——压缩饼干(ZRAM)
这个是我认为小内存处理中比较靠谱的方式——zram。它就像压缩饼干一样,虽然小小一块饼干看起来不大(zram的压缩页面占用内存),但是一喝水,感觉立马饱了(释放一个页面的内容)。1.简介2.如何使能3.工作流程4.还有什么能做的?简介:zram就是在发生swap事件的时候,不把要置换的页面置换到外部存储中,手机中的外部存储就是EMMC,电脑中的外部存原创 2014-09-04 16:25:14 · 24028 阅读 · 0 评论 -
巧妇能为少米之炊(1)——Android下小内存下的生存之道
经常听到身边用安卓的朋友抱怨手机卡顿,内存动不动就快没了,而Google声称在512M的内存下也能流畅运行Android 4.4,到底它做了什么?总结一下它主要做了四件事:1.优化内核,使用ActivityManager来减少直接内存回收2.优化LMK(low memory killer)的临界值3.使能KSM(Kernel Samepage Merging)4.使能ZRAM代原创 2014-09-03 17:45:13 · 5691 阅读 · 0 评论 -
闲聊ROOT权限——ROOT权限的前世今生
闲聊ROOT权限——ROOT权限的前世今生原创 2014-09-03 15:11:40 · 5384 阅读 · 1 评论 -
巧妇能为少米之炊(2)——幽灵侩子手(LMK)
使用安卓的朋友可能会遇到过这样的问题,就是某个应用正在使用,突然它被关闭了,或者打开某个应用,然后它就退出了,其实这背后就是LMK(Low Memory Killer)在起作用,所有形象地称之为幽灵刽子手。1.版本平台2.概念3.核心结构及调用4.总结版本平台平台:高通MSM8974安卓版本:4.4Linux内核版本:3.4.4文件路原创 2014-09-04 15:09:14 · 6117 阅读 · 0 评论 -
MTK平台安卓手机性能测试方法
笔者这段时间测试安卓手机,安卓手机的性能大家都知道了,用的时间长了就是卡,慢,需要刷机,而就算新买来的手机,偶尔滑动也有些卡顿,这次我就自己的测试方法,从开机时间,主页滑动的刷新频率,应用第一次启动速度,非滑动下的刷新频率来测试一个手机的性能。 测试之前,保证手机连接电脑,正常启动adb工具 1.开机时间: 一般测试的方法是人工计时,这的确是个不错的方原创 2014-04-18 10:41:15 · 14264 阅读 · 3 评论 -
android学习:初学百度地图编程
相信对于每个IT人士来说,android的编程大家并不陌生。简单的编程方法这里不赘述。 笔者在实际应用中,运用到百度地图的相关编程,之所以选择百度而不选择谷歌地图,这个大家都懂的。 查阅了很多资料,尤其是这篇文章给我的收获较大:http://blog.youkuaiyun.com/xiaanming/article/details/11171581,以下简称“原始教程”。但是当原创 2014-02-08 15:06:51 · 6488 阅读 · 1 评论