android 出现的问题

原创 2016年08月30日 15:40:39

问题1 studio问题

 E/dalvikvm: Could not find class

              解决办法1 http://blog.csdn.net/mark_sssss/article/details/51286596

File - Settings -Build,Execution,Deployment - Instant Run,去掉EnableInstant Run...边上的钩,点击OK即可。 强制忽略

 

问题是由于在Android构建工具的版本和Android支持库的不同版

 

更新您的构建工具的版本和支持库的版本到最新的或者你应该使用一个appcompat图书馆低于编译工具版本

 

 

 

 

问题2 Glide问题

 

java.lang.IllegalArgumentException:You cannot start a load for a destroyed activity

 主要是Glide 参数的问题, 

       解决办法:Context 用getApplicationContext()可解决.  不要在子线程中使用.

https://github.com/bumptech/glide/issues/138

 

 

问题3   EventBus问题

 

org.greenrobot.eventbus. Exception: tssuper classes have no public methods with the @Subscribe annotation

 

 添加@Subscribe 在回调方法上, studio必须添加, eclipse 可以不添加

 

 问题4, EventBus问题

 

tabhost 上的fragment注册eventbus 在onstart  中 注册, 不能早onCreateview中注册, 因为tabhost  上的页面, 生命周期 只走一次. 注销在onstop 里

 

问题 5   Caused by: java.lang.UnsupportedOperationException: Can't convert todimension: type=0x1

 

 对于的dimens没有. 解决办法, 默认的要有值values 下要有默认的dimens

 

 问题6: listview 和gridview 获取条目调用Getchat(角标)出现空指针

 

 

  setAdapter()其实是异步的 ,调用了这个方法, ListView或者gridview item并没有立马创建,而是在下一轮消息处理时才创建。弄明白了这个,就有了前面代码中的解决办法:使用 post()提交一个 Runnable()对象,在 Runnable()内部来做默认选中这种初始化动作

 

 

 问题7 FragmentTabHost切换Fragment时避免重复加载UI

不进行缓存那么. 重新进来UI页面将一直重复加载

 

 使用FragmentTabHost时,Fragment之间切换时每次都会调用onCreateView方法,导致每次Fragment的布局都重绘,无法保持Fragment原有状态。

       解决办法:在Fragment onCreateView方法中缓存View

1.    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {  

2.          if(rootView==null){  

3.              rootView=inflater.inflate(R.layout.tab_fragment, null);  

4.          }  

5.   //缓存的rootView需要判断是否已经被加过parent 如果有parent需要从parent删除,要不然会发生这个rootview已经有parent的错误。  

6.          ViewGroup parent = (ViewGroup) rootView.getParent();  

7.          if (parent != null) {  

8.              parent.removeView(rootView);  

9.          }   

10.         return rootView;  

11.     } 

 

 

 

问题8: mainactivy 后台进程的时候内容不能保存,

        解决办法 设置启动模式android:launchMode="singleInstance"
 
06-08 12:01:22.204 27808-27808/? E/MainActivity: onRestart: 
06-08 12:01:22.208 27808-27808/? E/MainActivity: onStart: 
06-08 12:01:22.208 27808-27808/? E/MainActivity: onResume:

 

 

问题9: frgment 用show 和hide来保存状态, 所有的生命周期, 只走一次,

 解决办法  onHiddenChanged 来判断当前状态 是显示还是隐藏
 
 

 

 

问题10: 不要在onResume ,onStrart 中去做一些操作频繁的事情, 比如New 出某个东西

 

问题11 Error:(7,23) 错误:程序包org.apache.http不存在
Error:(8, 36)
错误:程序包org.apache.http.client.utils不存在
Error:(76, 52)
错误:找不到符号
符号:   NameValuePair
位置: NetworkRequest
Error:(78, 22)
错误:找不到符号
符号:   变量URLEncodedUtils
位置: NetworkRequest

 

解决此错误方法:

 

build.gradle(Module:app)下加 

useLibrary 'org.apache.http.legacy'

 

 

问题12 :接入网易云信 出现的问题  ExceptionInInitializerError   // 注册云信网络通话来电

 

 

问题12 :接入网易云信 出现的问题  ExceptionInInitializerError   // 注册云信网络通话来电

要进行判断运行是否是在主线程方法中


public boolean inMainProcess() {
    String packageName = getPackageName();
    String processName = SystemUtil.getProcessName(this);
    return packageName.equals(processName);
}

 

 

13  Context 引起 的内存泄漏 使用BaseApplication 生命周期最长,

 

14 静态类内存泄漏
 一个activity类用静态初始化.  那么在onDestroy中 要设置成null,
public static   MainActivity activity=null;
// 创建实例化,

@Override
protected void onCreate(Bundle savedInstanceState) {
   requestWindowFeature(Window.FEATURE_NO_TITLE);
   super.onCreate(savedInstanceState);
   activity=this;
}
@Override
protected void onDestroy() {
   super.onDestroy();
 
   activity=null;

15 现象描述: 
首次通过下载apk安装的应用,初次运行后home键退出,再次点击图标,结果app会重启(而不是直接显示刚才关闭时的页面); 
通过开发工具eclipse直接运行的工程,却不会如此。而是跟期待的那样点击图标直接进入刚才显示的页面。 
直接上解决办法: 
工程的启动Activity中(如:SplashActivity中)的onCreate方法中加入一下代码即可:

if(!this.isTaskRoot()) {

           System.out.println("Splash_Activity Not isTaskRoot");

            finish();

            return;

        }

 

相关文章推荐

android在eclipse中可能出现的问题

  • 2012年07月26日 11:44
  • 25KB
  • 下载

android自动更新程序,安装完以后就什么都没有了,没有出现安装成功的界面的问题 .

androidjavaAndroid 4.0install_failed_alreaFLAG_ACTIVITY_NEW_TA 在android软件开发中,总是需要更新版本,所以当有新版本开发...
  • gvvbn
  • gvvbn
  • 2014年08月08日 11:58
  • 529

Android Studio集成友盟SDK出现的问题解决及原因分析

在集成友盟新的SDK后,调试开发都正常,但在导出release APK时再次出现(以前一篇类似问题的分析博客)以下问题:Error:Execution failed for task ':app:pa...

android开发环境安装(Eclipse)出现的几个问题

问题1:Theprefix 'com.example.' is meant as a placeholder and should not be used 解决:只需将com.example换一个名...

Android中jar包封装及调用中出现的问题及解决方案

在android开发过程中,我们经常会有这种需求,自己开发一个类库jar包,提供给别人调用。 即把项目A封装成jar包,供项目B调用,而在项目B中调用项目A的activity的时候问题就出现了:找不到...

Android RxJava2+Retrofit2 依赖时出现冲突问题

1. 尽管RxJava+ Retrofit很好用,但在一开始学习的时候会踩过很多坑,比如下面这个虽然很简单但会出现的报错 。 比如你的app的build.gradle中的dependencies如下所...

android开发中使用高德地图出现的一些问题

作为一名android开发者,地图这一块应该很多人都有碰过,我这里也简述一些自己使用碰到的一些问题(主要是高德地图 不是很喜欢百度地图) 1.在使用高德地图的过程中,是要先申请key的 对应一个ap...

android js调用java 并取得java当中的返回值返回到js的做法其实很简单,打包后出现问题记得修改proguard.cfg文件

在js和java互调的内容百度能搜到很多,这里就不多说了,下面这个是我推荐的:  转载请注明出处         挺帅的移动开发专栏  http://blog.csdn.net/wangting...

Android解决GridView异步加载图片和加载大量图片时出现Out Of Memory问题--recycleBitmapCaches

众所周知,我们在使用GridView或者ListView时,通常会遇到两个棘手的问题: 1.每个Item获取的数据所用的时间太长会导致程序长时间黑屏,更甚会导致程序ANR,也就是Application...
  • MyVar
  • MyVar
  • 2015年03月18日 15:11
  • 674

Android MediaRecorder 录制视频出现的问题及解决

1. 报错这种情况一般是由于 初始化顺序不对 或者是设置了分辨率手机不兼容 需要设置为 CamcorderProfile profile = CamcorderProfile.get(Camcor...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:android 出现的问题
举报原因:
原因补充:

(最多只允许输入30个字)