• 注册
当前位置:1313e > 默认分类 >正文

点滴记录

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

应用常遇到的一些小问题记录:

1、应用布局中的字体受到系统字体设置的影响

在应用aplication初始化的时候进行相应的处理

Configuration config = new Configuration();
config.setToDefaults();  
res.updateConfiguration(config,res.getDisplayMetrics() );
SDKInitializer.initialize(getApplicationContext());

2、webview中的视频播放会在退出当前activity之后任然进行播放。

因为该方法在api11以上才是暴露出来的,11以及一下版本是私有的所以需要利用反射调用

api11以上可以分别在Activity的onResume();

和OnPause()中调用webview对应的OnResume()和OnPause()方法

try {webview.getClass().getMethod("onResume").invoke(articleWebView,null);
} catch (NoSuchMethodException e) {e.printStackTrace();
} catch (InvocationTargetException e) {e.printStackTrace();
} catch (IllegalAccessException e) {e.printStackTrace();
}try {articleWebView.getClass().getMethod("onPause").invoke(articleWebView,null);
} catch (NoSuchMethodException e) {e.printStackTrace();
} catch (InvocationTargetException e) {e.printStackTrace();
} catch (IllegalAccessException e) {e.printStackTrace();
}

3、用到Disk缓存即SD卡缓存的图片缓存框架如果sd卡未挂载或者sd卡异常导致无法写入一般会导致程序无法打开,在打开的时候闪退。

4、Fragment中遇到的

IllegalStateException("Fragment " + this + " not attached to Activity")错误

onAttach()中getActivity()获取activity的引用。

对应应该在onDetach()中释放引用。

或者全程实时调用getActivity()获取acitivity实例。

5、涉及到Activity的Ui与其内部Fragment之间进行数据逻辑更新操作时需要对接口中暴露的参数判空。

6、关于使用上下文的例子context,getBaseContext,getAplicationContext

尽量使用getAplicationContext;(容易)


7、Android-Universal-Image-Loader

如果OutOfMemoryError错误很常见,可以通过下面的方式设置
(1).减少configuration中线程池的线程数目(.threadPoolSize(...)) 推荐为1 - 5
(2).display options通过.bitmapConfig(Bitmap.Config.RGB_565)设置. Bitmaps in RGB_565 consume 2 times less memory than in ARGB_8888.
(3).使用configuration的memoryCache(new WeakMemoryCache())方法 或者不调用.cacheInMemory()方法
(4).display options通过.imageScaleType(ImageScaleType.IN_SAMPLE_INT) 或者 .imageScaleType(ImageScaleType.EXACTLY)方法
(4).避免使用RoundedBitmapDisplayer,它创建了一个新的ARGB_8888 Bitmap对象


8、onAttachedToWindow()在整个Activity生命周期的位置及使用

onAttachedToWindow在Acitivity生命周期中处在onResume之后

根据ActivityThread中对Activity的实现中可以看到附着在Window上的DecorView

handleResumeActivity的时候设置LayoutParams的,也就是生命周期中的OnResume

所以在onAttachedToWindow中可以对窗口进行宽高设置

http://blog.csdn.net/guxiao1201/article/details/41517871


后续补充。。。。



转载于:https://my.oschina.net/mastere/blog/385280

本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 162202241@qq.com 举报,一经查实,本站将立刻删除。

最新评论

欢迎您发表评论:

请登录之后再进行评论

登录