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的基本问题及答案

Android应用程序四大组件分别是什么?Android有四大组件:Activity、Service、Broadcast Receiver、Content Provider 各个组件所起到的作用是什...
  • lyanyun23456
  • lyanyun23456
  • 2016年06月24日 14:59
  • 1447

android 不同机型因录音权限出现的不同问题

今天碰到一个关于录音权限的问题,这里只讲6.0系统以下的手机,6.0以上系统已做了更好更安全的处理。 正如我看过一篇文章,那些获取录音权限的方法只是判断你的配置文件AndroidManifest....
  • amogin
  • amogin
  • 2017年06月26日 17:23
  • 229

Android实现跑马灯Textview滚动效果的问题解决

今天实现做作品想实现此效果时候发现singleline已经不建议使用,android studio推荐了一个叫maxline=1的属性,然后发现永远也滚不起来,不论是自定义textview或者text...
  • kururunga
  • kururunga
  • 2016年12月13日 14:52
  • 180

Android中TextView长按复制时,屏幕顶部出现粘贴等选项的布局,这个布局占了顶部的位置,如何让这个布局浮动在顶部??

1、在Activity使用setContentView方法之前,调用requestWindowFeature(Window.FEATURE_ACTION_MODE_OVERLAY); 2、如果是继承...
  • yanxiaosa
  • yanxiaosa
  • 2016年09月28日 11:12
  • 965

android 开发中遇到的问题汇总

1.Edittext输入为密码有两种方法,分别是: Android:inputType="textPassword" android:password="true" 2.Android中grav...
  • junfeng120125
  • junfeng120125
  • 2014年01月24日 15:40
  • 5824

Android出现65535的原因

深度剖析65535问题的产生原因
  • brycegao321
  • brycegao321
  • 2017年07月11日 18:18
  • 545

Android程序中启动页面出现黑色闪动

写项目时出现了从一个页面跳转另一个页面的时候。出现黑色的闪屏,事件持续在1~3秒,对于一个患有强迫症的人,实在是无法 忍受,必须要解决一下!      闪黑屏的原因主要是我们启动Activity的...
  • anyonefan
  • anyonefan
  • 2017年04月21日 10:22
  • 549

解决Fragment重影问题

优化Add添加Fragment,在使用hide、show中解决重影问题 初始化中 private FragmentManager fragmentManager; private List fra...
  • jiangtea
  • jiangtea
  • 2016年11月13日 09:49
  • 913

Android中ListView复用导致其他Item显示异常

基于上一个博客内容在在有大量Item的情况下, Android会对ListView中的Item进行复用, 就会导致触发上面一个Item中的按钮后导致下面的按钮也跟着变红色边框代表手机屏幕 Ite...
  • q12076235
  • q12076235
  • 2015年09月07日 16:39
  • 4619

android-viewpager轮播图遇到的问题

推荐:android-ViewPager的轮播一、ViewPager滑动发生has a parent异常报错:java.lang.IllegalStateException: The specifi...
  • sinat_31057219
  • sinat_31057219
  • 2017年07月11日 10:48
  • 758
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:android 出现的问题
举报原因:
原因补充:

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