自己整理的一些Android常见面试题,欢迎各位参考。 有错误或有更好的题目答案可以联系修改。

31、两个Activity之间跳转必定会执行的是那几个方法
1.一般情况下比如说有两个activity,分别叫A,B,当在A里面启动B组件的时候, A会调用 onPause()方法,然后 B 调用 onCreate() ,onStart(), onResume()。
这个时候 B 覆盖了窗体, A 会调用 onStop()方法. 如果 B 是个透明的,或者是对话框的样式, 就不会调用 A 的 onStop()方法。

32、如 何 退 出 Activity ? 如 何 安 全 退 出 已 调 用 多 个 Activity 的Application?
1.通常情况用户退出一个Activity只需要按返回键,我们在写代码中可以直接调用finish()方法就行。
2.记录打开的Activity:每打开一个Activity,就记录下来,在需要退出时,关闭每一个Activity即可。
3.发送特定广播:在需要结束应用时,发送一个特定的广播,每个Activity收到广播后,关闭即可。
4.递归退出:再打开新的Activity时使用startActivityForResult ,然后自己加标志,在onActivityResult中处理,递归关闭。

33、横竖屏切换时 Activity 的生命周期
此时的生命周期跟清单文件里的配置有关系
1.不设置Activity的android:configChanges时,切屏会重新调用各个生命周期,默认首先首先销毁当前的Activity,然后重新加载。
2.如果设置了Activity android:configChanges=”orientation|keyboardHidden|screenSize”时,切屏不会重新调用各个生命周期,只会执行onConfigurationChanged的方法。

34、ListView数据集改变后,如何更新ListView
使用ListView的Adapter的notifyDataSetChanged()方法,该方法会使ListView重新绘制。

35、ListView如何定位到指定的位置
可以通过ListView提供的Lv.setSelection(ListView.getPosition)。

36、Activity启动模式
Standard
标准模式,每次启动Activity都会创建一个新的Activity实例,并且将其压入任务栈栈顶,而不管这个Activity是否已经存在。Activity的启动三回调(onCreate()->onStart()->onResume())都会执行。

Singletop
栈顶复用模式,如果有新的Activity已经位于栈顶,则不会创建新的Activity,如果栈顶没有则会创建。

Singletask
栈内复用模式,创建这样的Activity的时候,系统会先确认它所需任务栈已经创建,否则先创建任务栈.然后放入Activity,如果栈中已经有一个Activity实例,那么这个Activity就会被调到栈顶,onNewIntent(),并且singleTask会清理在当前Activity上面的所有Activity.(clear top)

Singleintance
加强版的singleTask模式,这种模式的Activity只能单独位于一个任务栈内,由于栈内复用的特性,后续请求均不会创建新的Activity,除非这个独特的任务栈被系统销毁了

37.在两个Activity之间如何传递一张图片。

Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.ic_target);     ByteArrayOutputStream baos = new ByteArrayOutputStream();bitmap.compress(Bitmap.CompressFormat.PNG, 100, baos); byte[] b = baos.toByteArray();Intent intent = new Intent(this, ActivityB.class);intent.putExtra("picture", b);startActivity(intent);Bundle extras = getIntent().getExtras();byte[] b = extras.getByteArray("picture");Bitmap bmp = BitmapFactory.decodeByteArray(b, 0, b.length);ImageView image = (ImageView) findViewById(R.id.imageView1);image.setImageBitmap(bmp);

更多相关文章

  1. No.11 使用firewall配置的防火墙策略的生效模式
  2. Android屏蔽ListView的Item点击事件
  3. Android中下拉通知栏,Activity会走哪些生命周期?
  4. Android(安卓)Service详解(一) 初识Service
  5. Android(安卓)组件Activity,Application 子父类关系
  6. 科大讯飞Android语音识别onResult()方法的理解
  7. Android(安卓)Proguard介绍
  8. Android(安卓)进阶——AIDL 详解之AIDL 借助Binder 实现IPC背后
  9. android emulator: ERROR: unknown virtual device name:解决方

随机推荐

  1. SQL对数据进行按月统计或对数据进行按星
  2. SQL server数据库创建代码 filegroup文件
  3. SQL Server基础之行数据转换为列数据
  4. Sql server端口未打开连接不上的解决方案
  5. sql server编写通用脚本实现获取一年前日
  6. SQL Server的IP不能连接问题解决
  7. SqlServer 数据库 三大范式
  8. SQL Server实现跨库跨服务器访问的方法
  9. sql server使用公用表表达式CTE通过递归
  10. sql中时间以5分钟半个小时任意间隔分组的