美文网首页
一个application相关的bug。。。

一个application相关的bug。。。

作者: EvilsoulM | 来源:发表于2015-12-02 17:06 被阅读152次

起因

由于一个先上bug,后台一致有人反馈应用老是停止运行,也不是crash,就是老是出现弹窗显示奔溃。

日志:

Paste_Image.png

![Uploading Paste_Image_319635.png . . .]

很明显空指针引起的 ,定位到代码

Paste_Image.png

就是一个DP转PX的方法,这里能空也就getDisplayMetrics()这个方法相关的了....也就只有getContext()的时候拿到null导致nullpoint了

再看看MovieApplication.getContext()

Paste_Image.png

很简单就是返回一个静态变量

Paste_Image.png

这是sContext被赋值的地方,也就是只有在主进程才会被赋值

上面的crash日志还有一部分指到的是

Paste_Image.png
private void clearImageMemoryCache() {
    Injector injector = RoboGuice.getInjector(this);
    ImageLoader imageLoader = injector.getInstance(ImageLoader.class);
    imageLoader.clearMemoryCache();
}

使用注入去调用ImageLoader的clearMemoryCache()方法,其实就是在内存吃紧的情况下会清除图片缓存。

ImageLoader的注入又依赖了三个实例Picasso ImageConst


Paste_Image.png

ImageConsts就是一些常用尺寸的封装类


Paste_Image.png

可以看到有一些静态变量调用了DimenUtils.dp2px 也就是空指针的那个方法。。。然后捋一捋。。。bug原因也就定位了。

子进程(push或其他)进程也调用了ontrimmemory的方法
导致初始化了imageConsts的实例,但是我们只是在主进程对context进行了赋值,所以后台进程就会奔溃。。。(每个子进程都会初始化一个application的实例,也就是我们有4个进程,就会有四个application的实例,oncreate方法在启动的时候就会调用四次)

最简单的解决方案当然就是吧context的赋值放出来就行了,但是为了避免后人也遇到类似的问题,就把application进行了拆分——>application拆分

相关文章

  • 一个application相关的bug。。。

    起因 由于一个先上bug,后台一致有人反馈应用老是停止运行,也不是crash,就是老是出现弹窗显示奔溃。 日志: ...

  • Application拆分

    起因 一个application相关的bug。。。 基类 主要提供和原生application一样的方法 主进程 ...

  • This application is modifying t

    Bug: This application is modifying the autolayout engine ...

  • Android manifest 语法详解

    一、application 相关: < application android:allowTaskReparent...

  • Bug相关

    jquery 相关 使用jq的toggle()、toggleClass() 、hide()、slideUp(),f...

  • 程序员调过的那些奇葩 Bug

    【导读】:程序员工作中有两件事,一是写 Bug,另外就是调 Bug。 在 Quora 上有一个和 Bug 相关的热...

  • Spark 架构与作业执行流程

    1. 名词解释: 作业相关的名词解释 Application:Spark Application的概念和Hadoo...

  • Swift 相关 Bug

    收集一些遇见的 bug "unable to find a suitable simulator device" ...

  • iOS相关bug

    一、iOS12键盘输入后不回弹 问题描述 iOS12系统下,h5或webview页面存在bug,键盘输入完毕收回后...

  • Android Studio Bugs

    Android Studio 日常bug记录 1,界面预览相关bug The graphics preview i...

网友评论

      本文标题:一个application相关的bug。。。

      本文链接:https://www.haomeiwen.com/subject/gptshttx.html