Android错误积累
文章平均质量分 63
余烬岛游戏
一只正在成长的小菜鸟
展开
-
记录一个因为dumpsys导致应用出现ANR的问题
我们先看一下这个ANR的主线程状态:从主线程的堆栈我们可以看出,应用block在了renderthread的postAndWait方法,我们接着看一下这个方法的实现:从这里我们可以看出是mSignal这个在等待锁释放,进一步搜索发现mSignal是在unblockUiThread方法中释放的那么unblockUiThread方法是什么时候调用的呢?搜索代码发现该方法在DrawFrameTask的run方法中调用根据postAndWait方法我们可以看到run方法实际是在renderthread中的消原创 2022-12-07 17:30:05 · 1022 阅读 · 1 评论 -
记录一次应用ANR问题的解决过程
公司的一个广告播放软件在更换硬件以后频繁出现ANR,查看日志发现ANR出现在下载过程中,当初测试的时候为了查看进度,添加了进度打印。因此日志里充斥着海量的无用日志,这里提一下日志框架用的LOG4J。然后开始抓取traces文件,但是traces文件很奇怪,并没有发现我们的进程,但是logcat里面显示我们的应用的的确确发生了ANR。经过一番思考,决定先关闭本地的日志输出,此时应用再次运行,还是会发生ANR,但是发生ANR的时间比之前晚了许久。因此初步确定是IO影响了应用的运行,测试机器的IO性能发现确实原创 2020-09-24 17:00:20 · 169 阅读 · 0 评论 -
解决okhttp或者retrofit出现UnknownHostException的问题
首先确认你的设备能否解析该域名,可以直接ping这个域名,如果能ping通则代表设备所处的网络是没有问题的,如果不能ping通可以尝试接入阿里云或者其他云服务厂商提供的http dns服务,或者检查一下网络状况。在排除掉以上问题以后,检查一下是否添加了网络访问权限<uses-permission android:name="android.permission.INTERNET" />如果网络权限也添加了,仍然出现该问题,确认是否使用的http协议而不是https协议,如果是http协议原创 2020-06-22 11:46:45 · 4262 阅读 · 1 评论 -
记flutter dio使用过程中遇到的两个问题
1、dio使用post请求时,如果content-type是form-data,我们需要通过FormData类来构建数据,否则服务器将无法识别,同时需要传入一个Option指明content-type,而form-data的content-type完整类型表述为:multipart/form-data,昨天在这两个问题上卡了很久,归根结底还是自己对于http协议不够熟悉,以后还需要加强这方面的知识...原创 2020-01-07 11:15:38 · 5496 阅读 · 0 评论 -
一个列表里的CheckBox导致的bug
在Android中,列表里使用CheckBox来做多选是一件很常见的事情,但是因为列表的ItemView的复用问题,这个CheckBox的状态就会异常。一般来说我们都会在ItemBean加一个属性来记录这个checkbox的状态,这样的话就不会因为复用ItemView导致状态错乱,其实这个道理和那些图片文字是一样的,只不过这个选中项对于新手来说容易忽略掉。还记得当初自学的时候,第一次遇到这个问题郁...原创 2019-06-05 00:01:21 · 534 阅读 · 0 评论 -
关于Android资源图片存放位置的问题
首先描述一下场景:为某个Activity设置一张背景图,该背景图存放于res/drawable目录下,其实这是一个很简单的东西,直接在布局文件中为根布局设置一个background即可。 但是最终的结果却让我有点意外,因为图片没有显示出来。查看日志得知是因为我们的图片太大了,导致应用无法加载。 于是恍然大悟,我使用的设备是属于xxhdpi的,理论上我的资源图片应该放在drawable-xxhdp原创 2017-04-20 04:35:26 · 4917 阅读 · 0 评论 -
修改Android开机动画问题
Android系统的开机动画修改主要是修改/system/media/文件夹下面的bootanimation.zip文件。 解压该文件后,我们会发现里面有一个文件夹,还有一个名为desc.txt的文件。这个文件内容一般如下: 1920 1080 20 p 0 0 loading 第一行中的1920和1080表示图片的分辨率,前面是宽后面是高,20表示刷新帧率,即每秒20帧原创 2017-01-16 14:45:15 · 1665 阅读 · 0 评论 -
Eclipse导入Android工程时提示invalid project description的解决办法
原因:原创 2014-05-23 14:13:23 · 590 阅读 · 0 评论 -
android工程运行报错:unabel to stat activity componentinfo{xx.xx.xxActivity}java.lang.NullPointerException
运行程序的时候报错:unabel to stat activity componentinfo{xx.xx.xxActivity}java.lang.NullPointerException原创 2014-05-31 14:34:43 · 842 阅读 · 0 评论 -
关于调用Android相机拍摄照片返回数据过小的问题
常见的调用系统相机的方法,返回的数据都很小,不能满足需求。所以我们需要重新处理。原创 2014-11-27 10:06:46 · 684 阅读 · 0 评论 -
appcompat_v7库导入出错的解决办法
导入V7包时候我们经常会出现各种各样的错误,下面介绍两种常见错误。第一种:V7包直接报错。这种错误一般是res中的value文件报错,比如value21 value19这样的文件夹。导致该种错误的原因是V7包所选择的android SDK开发包太低导致的。如果是value21报错,那么你至少需要选择5.0.1以上的SDK版本。 第二种:当我们开发的项目引入V7包后,控制台提示:原创 2015-10-10 01:56:52 · 3300 阅读 · 0 评论 -
Android MediaRecorder录制视频提示start failed的解决办法
今天测试MediaRecorder录制功能的时候出现一个蛋疼的BUG,按照官方提供的示例写好之后,start居然报错,打印日志一看说:start failed。代码如下: mCamera = Camera.open(0); surfaceView = new SurfaceView(this); setContentView(surfaceView);原创 2015-10-19 11:14:54 · 10892 阅读 · 0 评论 -
RecyclerView的BUG探讨
RecyclerView 这是一个全新的列表控件,这里就暂时不讨论它的用法了,百度随便一搜就会出现一大堆用法,这里讨论的是我在使用过程中遇到的一个bug。异常信息如下:10-29 00:44:52.845: E/AndroidRuntime(17874): java.lang.IndexOutOfBoundsException: Inconsistency detected. Invalid vi原创 2015-10-29 03:04:50 · 5103 阅读 · 1 评论 -
Android使用.9图片失效的问题
今天在实际开发中,因为有一张图片只需要横向拉伸,于是我就只对这张图片进行了横向的.9处理(在图片上方画了一条黑边),结果实际运行时发现,.9效果消失了,不仅横向全部拉伸,我没有画黑边的地方也拉伸了,并且黑边还给显示出来了。后来,经过一番测试,发现.9处理必须要成对,也就是你要作拉伸处理的话,必须上边和左边都要处理,作内容限制的话,右边和下边都要处理。这样出来的.9才会有效果,这里暂时做一个记录原创 2015-11-07 01:36:26 · 3395 阅读 · 0 评论 -
记一次javascript和Android代码互调的bug
今天一个朋友拿着一个js和android互调的demo来问我为什么js里面调用android里面定义的方法没有成功。当时他给了我两个工程,代码都是一样的,但是有一个可以成功,有一个不能。 一开始,我是有点怀疑的,相同的代码怎么一个能成功,一个不能成功呢?于是我比较了一下代码,发现代码还真是一模一样,然后我就陷入了纠结没有仔细去检查代码是否有问题。 还好后来看了一下logcat,发现日志里原创 2016-09-10 17:01:26 · 467 阅读 · 0 评论 -
Android系统源码编译浅谈
其实浅谈也算不上,只能算对最近工作遇到的问题的总结。 第一个问题,如何替换桌面壁纸。按照我一开始的想法,桌面应该是Luancher应用的一个Activity,去Launcher应用替换相应的资源文件即可。然而最后发现没有任何作用,于是我又想起了似乎还有一个设置桌面和锁屏壁纸的应用——Wallper。但是去Wallper的res却没有找到任何一张壁纸信息。后来经人提醒,才知道System/app下面原创 2016-12-02 15:20:29 · 496 阅读 · 0 评论