小坑笔记

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等包版本不一致。改后正常编译
posted @ 2020-05-16 15:47  西瓜皮不甜  阅读(757)  评论(0编辑  收藏  举报