随笔分类 -  236.Android之面试题

1 2 下一页

为什么 Activity.finish() 之后 10s 才 onDestroy ?
摘要:问题描述: 在A Activity启动B Activity,并结束A 页面,B页面在启动时进行大量的动画场景,源源不断的向主线程消息队列发送消息。A Activity的onPause正常执行,但是onStop与onDestory都延迟了10s才执行。为什么会出现这样的情况? Activity 的 o 阅读全文

posted @ 2022-08-17 14:26 LoaderMan 阅读(381) 评论(0) 推荐(0)

Fragment 的 replace 和 add 方法的区别?
摘要:Fragment 本身并没有 replace 和 add 方法,这里的理解应该为使用 FragmentManager 的 replace 和 add 两种方法切换 Fragment 时有什么不同。我们经常使用的一个架构就是通过 RadioGroup 切换 Fragment,每个 Fragment 就 阅读全文

posted @ 2017-03-09 14:24 LoaderMan 阅读(1001) 评论(0) 推荐(0)

描述一下 Intent 和 IntentFilter?
摘要:Android 中通过 Intent 对象来表示一条消息,一个 Intent 对象不仅包含有这个消息的目的地,还可以包含消息的内容,这好比一封 Email,其中不仅应该包含收件地址,还可以包含具体的内容。对于一个 Intent 对象,消息“目的地”是必须的,而内容则是可选项。通过 Intent 可以 阅读全文

posted @ 2017-03-09 14:23 LoaderMan 阅读(584) 评论(0) 推荐(0)

Serializable 和 Parcelable 的区别?
摘要:1.在使用内存的时候,Parcelable 类比 Serializable 性能高,所以推荐使用 Parcelable 类。2.Serializable 在序列化的时候会产生大量的临时变量,从而引起频繁的 GC。3.Parcelable 不能使用在要将数据存储在磁盘上的情况。尽管 Serializa 阅读全文

posted @ 2017-03-09 14:20 LoaderMan 阅读(362) 评论(0) 推荐(0)

介绍一下 NDK?
摘要:1.NDK 是一系列工具的集合 NDK 提供了一系列的工具,帮助开发者快速开发 C(或 C++)的动态库,并能自动将 so 和 java 应用一起打包成 apk。NDK 集成了交叉编译器,并提供了相应的 mk 文件隔离 CPU、平台、ABI 等差异,开发人员只需要简单修改 mk 文件(指出“哪些文件 阅读全文

posted @ 2017-03-09 14:18 LoaderMan 阅读(281) 评论(0) 推荐(0)

在 Android 中如何调用 C 语言?
摘要:当我们的 Java 需要调用 C 语言的时候可以通过 JNI 的方式,Java Native Interface。Android 提供了对 JNI 的支持, 因此我们在 Android 中可以使用 JNI 调用 C 语言。 在 Android 开发目录的 libs 目录下添加 xxx.so 文件, 阅读全文

posted @ 2017-03-09 14:13 LoaderMan 阅读(848) 评论(0) 推荐(0)

scrollView 嵌套 listview 方式除了测量还有什么方法?
摘要:1、手动设置 ListView 高度经过测试发现,在 xml 中直接指定 ListView 的高度,是可以解决这个问题的,但是 ListView中的数据是可变的,实际高度还需要实际测量。于是手动代码设置 ListView 高度的方法就诞生了。 /*** 动态设置 ListView 的高度 阅读全文

posted @ 2017-03-09 14:12 LoaderMan 阅读(184) 评论(0) 推荐(0)

ListView 中图片错位的问题是如何产生的?
摘要:图片错位问题的本质源于我们的 listview 使用了缓存 convertView,假设一种场景,一个 listview 一屏显示九个item,那么在拉出第十个 item 的时候,事实上该 item 是重复使用了第一个 item,也就是说在第一个 item 从网络中下载图片并最终要显示的时候,其实该 阅读全文

posted @ 2017-03-09 14:07 LoaderMan 阅读(409) 评论(0) 推荐(0)

ListView 中如何优化图片?
摘要:图片的优化策略比较多。1、处理图片的方式:如果 ListView 中自定义的 Item 中有涉及到大量图片的,一定要对图片进行细心的处理,因为图片占的内存是ListView 项中最头疼的,处理图片的方法大致有以下几种:①、不要直接拿路径就去循环 BitmapFactory.decodeFile;使用 阅读全文

posted @ 2017-03-09 14:02 LoaderMan 阅读(210) 评论(0) 推荐(0)

在 Activity 中使用 Handler 的时候如何去除警告信息?
摘要:可以使用弱引用. 阅读全文

posted @ 2017-03-09 12:37 LoaderMan 阅读(205) 评论(0) 推荐(0)

ListView 如何提高其效率?
摘要:① 复用 ConvertView② 自定义静态类 ViewHolder③ 使用分页加载 ④ 使用 WeakRefrence 引用 ImageView 对象 ViewHolder 为什么要声明为静态类? 非静态内部类拥有外部类对象的强引用,因此为了避免对外部类(外部类很可能是 Activity)对象的 阅读全文

posted @ 2017-03-09 12:36 LoaderMan 阅读(290) 评论(0) 推荐(0)

android:layout_gravity 和 android:gravity 的区别?
摘要:第一个是让该布局在其父控件中的布局方式,第二个是该布局布置其字对象的布局方式 阅读全文

posted @ 2017-03-09 12:35 LoaderMan 阅读(161) 评论(0) 推荐(0)

使用权重如何让一个控件的宽度为父控件的 1/3?
摘要:可以在水平方向的 LinearLayout 中设置 weightSum 为 3,然后让其子控件的 weight 为 1,那么该子控件就是父控件的 1/3。 阅读全文

posted @ 2017-03-09 12:33 LoaderMan 阅读(705) 评论(0) 推荐(0)

Android 中布局的优化措施都有哪些?
摘要:1、尽可能减少布局的嵌套层级可以使用 sdk 提供的 hierarchyviewer 工具分析视图树,帮助我们发现没有用到的布局。2、不用设置不必要的背景,避免过度绘制比如父控件设置了背景色,子控件完全将父控件给覆盖的情况下,那么父控件就没有必要设置背景。3、使用<include>标签复用相同的布局 阅读全文

posted @ 2017-03-09 12:33 LoaderMan 阅读(201) 评论(0) 推荐(0)

谈谈 UI 中, Padding 和 Margin 有什么区别?
摘要:android:padding 和 android:layout_margin 的区别,其实概念很简单,padding 是站在父 view 的角度描述问题,它规定它里面的内容必须与这个父 view 边界的距离。margin 则是站在自己的角度描述问题,规定自己和其他(上 下左右)的 view 之间的 阅读全文

posted @ 2017-03-09 12:31 LoaderMan 阅读(516) 评论(0) 推荐(0)

广播接收者的生命周期?
摘要:a. 广播接收者的生命周期非常短暂的,在接收到广播的时候创建,onReceive()方法结束之后销毁;b. 广播接收者中不要做一些耗时的工作,否则会弹出 Application No Response 错误对话框;c. 最好也不要在广播接收者中创建子线程做耗时的工作,因为广播接收者被销毁后进程就成为 阅读全文

posted @ 2017-03-09 11:25 LoaderMan 阅读(306) 评论(0) 推荐(0)

如何让自己的广播只让指定的 app 接收?
摘要:1、自己的应用(假设名称为应用 A)在发送广播的时候给自己发送的广播添加自定义权限,假设权限名为:com.itheima.android.permission,然后需要在应用 A 的 AndroidManifest.xml 中声明如下权限: 2、其他应用(假设名称应用 B)如果想接收该广播,那么就必 阅读全文

posted @ 2017-03-09 10:54 LoaderMan 阅读(1600) 评论(0) 推荐(0)

在 manifest 和代码中如何注册和使用 BroadcastReceiver?
摘要:在清单文件中注册广播接收者称为静态注册,在代码中注册称为动态注册。静态注册的广播接收者只要 app 在系统中运行则一直可以接收到广播消息,动态注册的广播接收者当注册的 Activity 或者 Service 销毁了那么就接收不到广播了。静态注册:在清单文件中进行如下配置 动态注册:在代码中进行如下注 阅读全文

posted @ 2017-03-09 10:45 LoaderMan 阅读(1023) 评论(0) 推荐(0)

请描述一下 BroadcastReceiver?
摘要:BroadCastReceiver 是 Android 四大组件之一,主要用于接收系统或者 app 发送的广播事件。 广播分两种:有序广播和无序广播。 内部通信实现机制:通过 Android 系统的 Binder 机制实现通信。 无序广播:完全异步,逻辑上可以被任何广播接收者接收到。 优点是效率较高 阅读全文

posted @ 2017-03-09 10:39 LoaderMan 阅读(584) 评论(0) 推荐(0)

说说 Activity、Intent、Service 是什么关系
摘要:他们都是 Android 开发中使用频率最高的类。其中 Activity 和 Service 都是 Android 四大组件之一。他俩都是Context 类的子类 ContextWrapper 的子类,因此他俩可以算是兄弟关系吧。不过兄弟俩各有各自的本领,Activity负责用户界面的显示和交互,S 阅读全文

posted @ 2017-03-09 10:26 LoaderMan 阅读(1048) 评论(0) 推荐(0)

1 2 下一页

导航