java随机数random的取值范围(java 随机数生成范围)

  Bunder传递对象为什么需要序列化?

image.png

  因为bundle传递数据时只支持基本数据类型,Bundle内value支持的类型:Bundle、ArrayList、String、int、long、double、boolean、float、char、byte、short。

  Serializable 与 parcelable 实现序列化的区别?

  Serializeble 是 java 的序列化方式,Parcelable 是 Android 特有的序列化方式;

  在使用内存的时候,Parcelable 比 Serializable 性能高,所以推荐使用 Parcelable。 Serializable 在序列化的时候会产生大量的临时变量,从而引起频繁的 GC。

  View 是如何渲染到 Activity 界面上的?

  可以简单概括为:Android 应用程序把经过测量、布局、绘制后的surface 缓存数据,通过 SurfaceFlinger 把数据渲染到显示屏幕上,通过 Android 的刷新机制 来刷新数据。也就是说应用层负责绘制,系统层负责渲染,通过进程间通信把应用层需要 绘制的数据传递到系统层服务,系统层服务通过刷新机制把数据更新到屏幕.

  Activity 与 Fragment 之间常见的几种通信方式?

  当您需要在多个 Fragment 之间或 Fragment 与其宿主 Activity 之间共享数据时,ViewModel 是理想的选择。

  Activity生命周期须知:

  (1)onStart和onResume的区别:onStart实际上表示Activity已经可见了,只是我们还看不到还不能交互而已,因为它还处在后台。而onResume表示Activity已经显示到前台可见了,并且可以进行交互。

  (2)当用户按下home键,Activity经历onPause-onStop的过程,这时重新进入Activity经历

  onRestart-onStart-onResume过程;如果按下back键,经历onPause-onStop-onDestroy的过程。

  (3)当在当前ActivityA中打开一个新的ActivityB,要注意的是只有A的onPause执行完成后B的onCreate-…过程才能开始,而A的onStop则是在之后才会进行的。所以不应该在onPause中做耗时的操作,应该尽快让B显示出来进行操作才行。

  请解释Fragment是什么以及它的生命周期是什么。

  Fragment是一种可以嵌套在Activity中的组件,用于实现模块化和可重用性。Fragment的生命周期包括onAttach()、onCreate()、onCreateView()、onActivityCreated()、onStart()、onResume()、onPause()、onStop()、onDestroyView()、onDestroy()和onDetach()方法。

  什么是BroadcastReceiver?如何使用它?

  BroadcastReceiver是一种可以接收系统广播和应用程序广播的组件。为了使用BroadcastReceiver,必须在AndroidManifest.xml文件中声明它,然后可以通过IntentFilter和Intent来注册和接收广播。

  什么是Intent?请解释Intent的类型以及如何使用它们。

  Intent是一种用于在应用程序组件之间传递数据和操作的对象。Intent有两种类型:显式Intent和隐式Intent。显式Intent用于启动特定组件(比如Activity、Service、BroadcastReceiver),而隐式Intent用于启动能够执行特定操作的任何组件。可以通过putExtra()方法将数据添加到Intent中,并在其他组件中使用getExtra()方法来检索数据。

  如何在Android应用程序中使用网络?你可以使用哪些类来实现网络连接?

  在Android应用程序中,可以使用HttpURLConnection类或HttpClient类来进行网络连接,并使用AsyncTask或IntentService来执行异步网络请求以避免阻塞UI线程。

  什么是ContentProvider?你可以使用它来做什么?

  ContentProvider是一种组件,用于向其他应用程序提供和管理数据。ContentProvider可以让应用程序共享数据,并且可以与Android系统的其他组件进行交互。


发表评论

评论列表

还没有评论,快来说点什么吧~