小坑笔记
1.a.a.c.d: End of input at line 1 column 1 path $ Caused by: java.io.EOFException: End of input at line 1 column 1 path $
并且返回体 body的内容为空
清理用户缓存数据或者重新在其他地方登录一次该账号,问题解决。
原因:服务器缓存的token过期
2.adapter中使用edittext导致数据混乱
Adapter中使用Edittext并且设置了addTextChangedListener事件,当adapter数据remove的时候onTextChange()方法会调用。结果会造成数据混乱
解决-参考:关于RecyclerView中包含Edittext的问题的几种解决方法
3.通知栏小图标 setSmallIcon 设置了不显示
图片改成只有一种颜色,白色改成透明
4.请求报500,服务器报redisconnectionexception ,拒绝连接。
服务器redis问题
5.DialogFragment内存泄漏 Leaking: YES (RefWatcher was watching this and Fragment#mFragmentManager is null and Fragment#mFragmentManager is null
在onActivityCreated里添加,但是会引起Fragment already added异常
getDialog().setOnShowListener(null); getDialog().setOnCancelListener(null); getDialog().setOnDismissListener(null);
6.handler内存泄漏
handler.removeCallbacksAndMessages(null);
或者使用弱引用
7.service 启动activity android.util.AndroidRuntimeException: Calling startActivity() from outside of an Activity context requires the FLAG_ACTIVITY_NEW_TASK flag. Is this really what you want?
service里面启动Activity,必须添加FLAG_ACTIVITY_NEW_TASK (flag)
8.通过新建.nomedia文件阻止媒体扫描程序读取音频、视频和图片文件。
不需要被 MediaStore 扫描的目录下,创建一个 .nomedia 的空文件,它将阻止媒体扫描程序读取这个目录下的媒体文件。也就无法通过 MediaStore 分享给其他程序。
(比如裁切图片或者压缩图片的存放文件夹,一些图片选择框架会显示这些图片)
9.ActivityLifecycleCallbacks
10.GestureDetector只能获取单双击,奇数次为>1单双击都会触发,多次点击(需要在onSingleTapConfirmed判断onDoubleTapEvent触发时的时间戳间隔)
11.DecorView.setSystemUiVisibility设置状态栏字体和图标颜色不生效,设置延迟postDelayed(new Runable(){},300)
//状态栏字体颜色-深色 activity.getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);
//状态栏字体颜色-浅色 activity.getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_STABLE);
如果出现虚拟导航栏适配问题可以试试
getWindow().getDecorView().setSystemUiVisibility( View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR | View.SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR);
12.根据字节长度截取字符长度
StringBuffer stringBuffer = new StringBuffer(); StringBuffer stringBuffer2 = new StringBuffer(); if (!oldStr.isEmpty() && oldStr.getBytes().length > 12){ for (int i = 0; i < oldStr.length(); i++) { stringBuffer.append(oldStr.charAt(i)); if (stringBuffer.toString().getBytes().length <= 12){ stringBuffer2.append(oldStr.charAt(i)); }else { break; } } oldStr = stringBuffer2.toString(); }
13.bitmap读取图片使用decodeResource容易出现oom,使用decodeStream省内存。
14.使用系统选择图片(华为显示图库,择选图片后崩溃)
Intent intent; if (Build.VERSION.SDK_INT < 19) { intent = new Intent(Intent.ACTION_GET_CONTENT); intent.setType("image/*"); } else { intent = new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI); } startActivityForResult(intent, REQUEST_CODE_LOCAL);
15.Fresco / SimpleDraweeView roundAsCircle="true" 圆形图片Drawable占位图拉伸问题 https://www.jianshu.com/p/f37b1991d27b
占位图片移动到drawable-nodpi下
图片请求时设置一个bitmap的拦截器RoundAsCirclePostprocessor: ImageRequestBuilder.newBuilderWithSource(uri).setPostprocessor(new RoundAsCirclePostprocessor()).build()
16.MPAndroidChart 柱状图标签文字过长重叠,可设置角度解决
barChart.getXAxis().setLabelRotationAngle(45);
X轴坐标的个数,第二个参数一般填false。true表示强制设置标签数,可能会导致X轴坐标显示不全等问题
barChart.getXAxis().setLabelCount(xTag.size(),false);
X轴的位置设置为下 默认为上
setPosition(XAxis.XAxisPosition.BOTTOM);
绘制零线
barChart.getAxisLeft().setDrawZeroLine(true);
17.android resource linking failed
清理idea/build等无效后发现module里引用的appcompat等包版本不一致。改后正常编译
本文来自博客园,作者:西瓜皮不甜,转载请注明原文链接:https://www.cnblogs.com/Jieth/p/12897419.html
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· NetPad:一个.NET开源、跨平台的C#编辑器
· PowerShell开发游戏 · 打蜜蜂
· 凌晨三点救火实录:Java内存泄漏的七个神坑,你至少踩过三个!