API Change Statistics

The overall difference between API Levels s-dp2 and s-dp3 is approximately 2.83%.


Total of Differences, by Number and Type

The table below lists the numbers of program elements (packages, classes, constructors, methods, and fields) that were added, changed, or removed. The table includes only the highest-level program elements — that is, if a class with two methods was added, the number of methods added does not include those two methods, but the number of classes added does include that class.

Type Additions Changes Removals Total
Packages 3 56 0 59
Classes and Interfaces 72 274 26 372
Constructors 18 82 3 103
Methods 259 809 41 1109
Fields 305 169 79 553
Total 657 1390 149 2196

Changed Packages, Sorted by Percentage Difference

Percentage Difference* Package
63 android.telephony.data
62 android.renderscript
57 android.net.sip
50 android.net.rtp
42 android.app.appsearch.exceptions
39 android.net.vcn
24 android.media.metrics
24 android.app.appsearch
22 android.telephony
12 android.view.autofill
11 android.hardware.display
9 android.system
7 android.view.textservice
7 android.companion
7 android.hardware.camera2.params
4 android.app.people
4 android.appwidget
4 android.app.job
3 android.net.wifi.hotspot2
3 android.hardware.camera2
3 android.net.wifi
2 android
2 android.hardware.biometrics
2 android.media
2 java.lang.ref
1 android.net.wifi.aware
1 android.app
1 android.location
1 android.content
1 android.content.pm
1 android.view
1 android.view.inputmethod
<1 java.lang
<1 android.widget
<1 android.graphics.drawable
<1 android.provider
<1 android.app.admin
<1 android.os
<1 android.net.wifi.p2p
<1 android.net
<1 android.telephony.ims
<1 android.service.autofill
<1 android.inputmethodservice
<1 android.graphics
<1 android.util
<1 android.security
<1 android.os.storage
<1 android.media.session
<1 android.net.ipsec.ike
<1 android.service.notification
<1 android.telecom
<1 java.util.concurrent
<1 android.accessibilityservice
<1 android.bluetooth
<1 android.view.textclassifier
<1 java.util

* See Calculation of Change Percentages, below.


Changed Classes and Interfaces, Sorted by Percentage Difference

Percentage
Difference*
Class or Interface
100 android.net.sip.SipException
100 android.renderscript.ScriptC
85 android.renderscript.Allocation
82 android.renderscript.ScriptIntrinsicBlend
79 android.renderscript.FieldPacker
77 android.media.metrics.PlaybackErrorEvent
76 android.renderscript.Script
75 android.renderscript.Byte2
75 android.renderscript.Double2
75 android.renderscript.Element.Builder
75 android.renderscript.Float2
75 android.renderscript.Int2
75 android.renderscript.Long2
75 android.renderscript.Matrix3f
75 android.renderscript.ScriptIntrinsicColorMatrix
75 android.renderscript.Short2
72 android.renderscript.ScriptIntrinsicHistogram
71 android.telephony.CarrierConfigManager.ImsServiceEntitlement
70 android.renderscript.Byte3
70 android.renderscript.Double3
70 android.renderscript.Float3
70 android.renderscript.Int3
70 android.renderscript.Long3
70 android.renderscript.ScriptIntrinsic3DLUT
70 android.renderscript.Short3
69 android.net.vcn.VcnManager
66 android.renderscript.Byte4
66 android.renderscript.Double4
66 android.renderscript.Float4
66 android.renderscript.Int4
66 android.renderscript.Long4
66 android.renderscript.ScriptIntrinsicResize
66 android.renderscript.Short4
64 android.renderscript.ScriptIntrinsicBlur
64 android.renderscript.ScriptIntrinsicConvolve3x3
64 android.renderscript.ScriptIntrinsicConvolve5x5
63 android.view.textservice.TextServicesManager
62 android.renderscript.ScriptIntrinsicLUT
62 android.R.color
61 android.net.sip.SipProfile.Builder
61 android.renderscript.Script.FieldBase
60 android.renderscript.ScriptIntrinsicYuvToRGB
59 android.net.sip.SipAudioCall
58 android.net.sip.SipManager
57 android.renderscript.RenderScript
57 android.app.appsearch.AppSearchManager.SearchContext.Builder
57 android.renderscript.Matrix2f
55 android.renderscript.AllocationAdapter
54 android.renderscript.Matrix4f
54 android.net.sip.SipSession.State
53 android.net.sip.SipErrorCode
50 android.location.GnssAntennaInfo.Listener
50 android.media.MediaDrm.MediaDrmStateException
50 android.net.rtp.AudioCodec
50 android.net.rtp.AudioGroup
50 android.net.rtp.AudioStream
50 android.net.rtp.RtpStream
50 android.net.sip.SipAudioCall.Listener
50 android.net.sip.SipProfile
50 android.net.sip.SipRegistrationListener
50 android.net.sip.SipSession
50 android.net.sip.SipSession.Listener
50 android.provider.MediaStore.Audio.Playlists
50 android.provider.MediaStore.Audio.Playlists.Members
50 android.renderscript.Allocation.OnBufferAvailableListener
50 android.renderscript.BaseObj
50 android.renderscript.RSDriverException
50 android.renderscript.RSIllegalArgumentException
50 android.renderscript.RSInvalidStateException
50 android.renderscript.RSRuntimeException
50 android.renderscript.RenderScript.RSErrorHandler
50 android.renderscript.RenderScript.RSMessageHandler
50 android.renderscript.Sampler
50 android.renderscript.Sampler.Builder
50 android.renderscript.Script.LaunchOptions
50 android.renderscript.ScriptGroup.Binding
50 android.renderscript.ScriptGroup.Builder2
50 android.renderscript.ScriptGroup.Closure
50 android.renderscript.ScriptIntrinsicBLAS
50 android.renderscript.Type
50 android.renderscript.Type.Builder
49 android.renderscript.Element
44 android.media.MediaDrm.SessionException
44 android.widget.AnalogClock
42 android.app.appsearch.SetSchemaResponse
42 android.app.appsearch.exceptions.AppSearchException
40 android.media.MediaCodec.CryptoException
40 android.app.appsearch.GlobalSearchSession
40 android.hardware.camera2.TotalCaptureResult
37 android.provider.MediaStore.Audio.PlaylistsColumns
36 android.app.appsearch.RemoveByUriRequest.Builder
36 android.app.appsearch.ReportUsageRequest.Builder
36 android.app.appsearch.SetSchemaRequest
35 android.app.appsearch.GetByUriRequest.Builder
33 android.app.job.JobParameters
33 android.media.MediaCommunicationManager
33 android.view.WindowManager
30 android.app.appsearch.SearchResult
29 android.view.SoundEffectConstants
28 android.app.appsearch.SearchResult.MatchInfo
28 android.graphics.drawable.RippleDrawable
28 android.telephony.PhoneStateListener
27 android.app.appsearch.SetSchemaRequest.Builder
27 android.util.SizeF
25 android.media.AudioPresentation
25 android.app.appsearch.SearchResults
25 android.renderscript.Allocation.MipmapControl
25 android.renderscript.Element.DataKind
25 android.renderscript.Element.DataType
25 android.renderscript.RenderScript.ContextType
25 android.renderscript.RenderScript.Priority
25 android.renderscript.Sampler.Value
25 android.renderscript.ScriptGroup
25 android.renderscript.Type.CubemapFace
24 android.telephony.CarrierConfigManager.Iwlan
23 android.net.wifi.WifiInfo
22 android.media.AudioMetadata.Format
21 android.net.vcn.VcnGatewayConnectionConfig.Builder
20 android.app.appsearch.AppSearchSchema
20 android.app.appsearch.AppSearchSession
20 android.app.appsearch.SearchResult.MatchRange
20 android.hardware.camera2.params.InputConfiguration
20 android.media.metrics.Event
20 android.media.metrics.MediaMetricsManager
20 android.net.wifi.aware.WifiAwareSession
17 android.appwidget.AppWidgetHostView
17 android.hardware.biometrics.BiometricManager
17 android.provider.Telephony.ServiceStateTable
17 android.view.inputmethod.InlineSuggestionsRequest.Builder
16 android.app.Notification.CallStyle
16 android.app.WallpaperColors
16 android.app.appsearch.GenericDocument.Builder
15 android.app.Notification.BigPictureStyle
14 android.app.appsearch.AppSearchBatchResult
14 android.app.appsearch.AppSearchSchema.Builder
14 android.media.metrics.PlaybackSession
14 android.net.vcn.VcnGatewayConnectionConfig
14 android.net.wifi.p2p.WifiP2pWfdInfo
13 android.widget.RemoteViews
13 android.app.people.ConversationStatus
12 android.media.metrics.TrackChangeEvent.Builder
12 android.net.NetworkRequest
12 android.app.appsearch.SearchSpec
11 android.media.metrics.PlaybackMetrics
11 android.app.admin.DelegatedAdminReceiver
11 android.app.appsearch.AppSearchResult
11 android.content.ClipDescription
11 android.media.metrics.NetworkEvent
11 android.media.metrics.NetworkEvent.Builder
11 android.media.metrics.PlaybackStateEvent.Builder
11 android.net.ConnectivityManager.NetworkCallback
11 android.os.CombinedVibrationEffect
11 android.service.autofill.Dataset.Builder
11 android.view.SurfaceControlViewHost.SurfacePackage
10 android.net.NetworkRequest.Builder
10 java.lang.ref.Reference
9 java.util.concurrent.CompletableFuture
9 android.content.pm.PackageInstaller
9 android.app.appsearch.AppSearchSchema.PropertyConfig
9 android.hardware.camera2.params.OutputConfiguration
9 android.telephony.CarrierConfigManager.Apn
9 android.telephony.SignalStrengthUpdateRequest
8 android.telephony.SubscriptionManager
8 android.app.Notification.BubbleMetadata
7 android.media.metrics.PlaybackErrorEvent.Builder
7 android.net.wifi.WifiInfo.Builder
7 android.net.wifi.aware.AwareResources
7 android.net.wifi.aware.WifiAwareNetworkInfo
7 android.net.wifi.hotspot2.PasspointConfiguration
7 android.media.metrics.TrackChangeEvent
7 android.security.KeyChain
6 android.inputmethodservice.AbstractInputMethodService
6 android.media.AudioRecord.Builder
6 android.net.wifi.WifiEnterpriseConfig
6 android.service.autofill.InlinePresentation
6 android.telephony.ims.ImsMmTelManager
5 android.app.appsearch.SearchSpec.Builder
5 android.telephony.CarrierConfigManager.Ims
5 android.net.wifi.WifiManager
5 android.net.wifi.WifiNetworkSuggestion.Builder
5 android.content.pm.PackageInstaller.Session
5 android.media.metrics.PlaybackMetrics.Builder
5 android.net.wifi.ScanResult
5 android.view.inputmethod.InlineSuggestionsRequest
5 android.media.session.MediaSessionManager
5 android.net.ipsec.ike.IkeSessionParams.Builder
5 android.provider.MediaStore.Files.FileColumns
4 android.net.wifi.WifiNetworkSuggestion
4 android.os.Build.VERSION
4 android.appwidget.AppWidgetProviderInfo
4 android.telephony.TelephonyDisplayInfo
4 android.net.ipsec.ike.SaProposal
4 android.view.autofill.AutofillManager
4 android.app.Notification.BubbleMetadata.Builder
4 android.widget.HorizontalScrollView
4 android.hardware.camera2.CameraCharacteristics
4 android.provider.MediaStore
4 android.telecom.Call
4 android.widget.ScrollView
4 android.media.AudioManager
4 android.Manifest.permission_group
4 android.media.MediaRecorder
3 android.content.ClipData.Item
3 android.content.SyncRequest.Builder
3 android.view.Display
3 android.net.NetworkCapabilities
3 android.service.autofill.FillResponse.Builder
3 android.media.MediaFormat
2 android.media.MediaCodec
2 android.location.LocationManager
2 android.net.ipsec.ike.IkeSessionParams
2 android.view.inputmethod.InputMethodInfo
2 android.media.MediaExtractor
2 android.provider.Settings
2 android.net.IpSecAlgorithm
2 android.content.pm.PackageInstaller.SessionParams
2 android.bluetooth.BluetoothDevice
2 android.util.SparseArray
2 android.app.appsearch.GenericDocument
2 android.telephony.PhysicalChannelConfig
2 android.media.MediaParser
2 android.telephony.CarrierConfigManager
2 android.app.NotificationChannel
2 java.util.List
2 android.service.notification.NotificationListenerService
1 android.app.admin.DeviceAdminReceiver
1 android.content.pm.ShortcutManager
1 android.telephony.NetworkRegistrationInfo
1 android.media.AudioTrack
1 android.media.AudioRecord
1 android.telephony.TelephonyManager
1 android.content.pm.ApplicationInfo
1 android.os.storage.StorageManager
1 android.os.Build
1 android.view.textclassifier.TextClassifier
1 android.media.AudioAttributes
1 android.app.Notification
1 android.net.ConnectivityManager
1 android.content.pm.PackageInfo
1 android.content.Context
1 android.app.admin.DevicePolicyManager
1 android.telephony.SmsMessage
1 android.Manifest.permission
1 android.hardware.camera2.CaptureResult
1 android.telecom.TelecomManager
1 android.view.inputmethod.InputMethodManager
1 android.widget.AbsListView
<1 android.view.WindowManager.LayoutParams
<1 android.system.Os
<1 android.accessibilityservice.AccessibilityServiceInfo
<1 android.hardware.camera2.CameraMetadata
<1 android.telecom.Call.Details
<1 android.view.InputDevice
<1 android.hardware.camera2.CaptureRequest
<1 android.telephony.SmsManager
<1 android.R.attr
<1 android.view.View
<1 android.media.MediaDrm
<1 android.view.Window
<1 android.content.pm.ActivityInfo
<1 android.accessibilityservice.AccessibilityService
<1 android.content.ContentResolver
<1 android.telephony.DataFailCause
<1 android.content.pm.PackageManager
<1 android.content.Intent
<1 android.companion.DeviceNotAssociatedException
<1 android.renderscript.Script.Builder
<1 android.renderscript.Script.FieldID
<1 android.renderscript.Script.InvokeID
<1 android.renderscript.Script.KernelID
<1 android.renderscript.ScriptGroup.Future
<1 android.renderscript.ScriptGroup.Input
<1 android.renderscript.ScriptIntrinsic
<1 java.lang.Deprecated

* See Calculation of Change Percentages, below.


Calculation of Change Percentages

The percent change statistic reported for all elements in the "to" API Level specification is defined recursively as follows:

Percentage difference = 100 * (added + removed + 2*changed)
                        -----------------------------------
                        sum of public elements in BOTH APIs

where added is the number of packages added, removed is the number of packages removed, and changed is the number of packages changed. This definition is applied recursively for the classes and their program elements, so the value for a changed package will be less than 1, unless every class in that package has changed. The definition ensures that if all packages are removed and all new packages are added, the change will be 100%.