API Change Statistics

The overall difference between API Levels 26.0.0-alpha1 and 26.0.0-beta1 is approximately 15.73%.


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 5 30 3 38
Classes and Interfaces 64 109 12 185
Constructors 8 3 4 15
Methods 222 227 63 512
Fields 31 21 49 101
Total 330 390 131 851

Changed Packages, Sorted by Percentage Difference

Percentage Difference* Package
75 android.support.v4.provider
48 android.support.media.tv
47 android.support.transition
42 android.support.v4.math
38 android.support.v17.leanback.media
34 android.support.v4.content.pm
33 android.support.v4.text.util
31 android.support.graphics.drawable
25 android.support.v13.view
23 android.support.v4.media
20 android.support.v4.os
15 android.support.percent
14 android.support.v4.graphics.drawable
12 android.support.v4.view.accessibility
11 android.support.v4.accessibilityservice
8 android.support.v17.leanback.widget
7 android.support.v4.widget
5 android.support.v17.leanback.graphics
5 android.support.v4.content.res
5 android.support.v4.view
4 android.support.v17.leanback.app
4 android.support.v4.content
2 android.support.v4.text
2 android.support.v4.app
2 android.support.v4.media.session
1 android.support.v7.preference
1 android.support.v13.app
<1 android.support.v7.widget
<1 android.support.v4.util
<1 android.support.v7.app

* See Calculation of Change Percentages, below.


Changed Classes and Interfaces, Sorted by Percentage Difference

Percentage
Difference*
Class or Interface
100 android.support.v13.view.ViewCompat
100 android.support.v4.content.pm.ShortcutInfoCompat
100 android.support.v4.view.ScaleGestureDetectorCompat
100 android.support.v4.widget.ListPopupWindowCompat
76 android.support.media.tv.Program
74 android.support.media.tv.Program.Builder
66 android.support.v4.widget.ScrollerCompat
58 android.support.v4.view.accessibility.AccessibilityRecordCompat
57 android.support.v17.leanback.media.PlaybackGlue.PlayerCallback
57 android.support.v17.leanback.widget.ParallaxTarget
52 android.support.v4.widget.EdgeEffectCompat
51 android.support.v4.view.MenuItemCompat
50 android.support.percent.PercentLayoutHelper.PercentLayoutParams
50 android.support.v17.leanback.widget.ParallaxTarget.PropertyValuesHolderTarget
50 android.support.v4.os.BuildCompat
50 android.support.v4.os.ParcelableCompat
50 android.support.v4.view.ViewConfigurationCompat
50 android.support.v4.view.accessibility.AccessibilityManagerCompat.AccessibilityStateChangeListener
42 android.support.media.tv.TvContractCompat.Programs
42 android.support.v4.math.MathUtils
41 android.support.v4.widget.TextViewCompat
40 android.support.v17.leanback.widget.Parallax.FloatProperty
40 android.support.v17.leanback.widget.Parallax.IntProperty
36 android.support.transition.Visibility
35 android.support.v4.view.accessibility.AccessibilityManagerCompat
34 android.support.v17.leanback.widget.PlaybackControlsRow
33 android.support.transition.AutoTransition
33 android.support.v17.leanback.app.PlaybackFragmentGlueHost
33 android.support.v17.leanback.app.PlaybackSupportFragmentGlueHost
33 android.support.v17.leanback.media.PlaybackGlueHost
33 android.support.v4.media.MediaBrowserServiceCompat.Result
31 android.support.v17.leanback.widget.Parallax
27 android.support.media.tv.TvContractCompat
27 android.support.v17.leanback.graphics.BoundsRule.ValueRule
26 android.support.v17.leanback.widget.ParallaxEffect
25 android.support.v17.leanback.app.OnboardingFragment
25 android.support.v17.leanback.app.OnboardingSupportFragment
25 android.support.graphics.drawable.AnimatedVectorDrawableCompat
25 android.support.v4.os.ParcelableCompatCreatorCallbacks
25 android.support.v4.view.MenuItemCompat.OnActionExpandListener
24 android.support.v17.leanback.app.PlaybackFragment
24 android.support.v17.leanback.app.PlaybackSupportFragment
23 android.support.v4.content.pm.ShortcutInfoCompat.Builder
18 android.support.v17.leanback.media.PlaybackGlue
17 android.support.v17.leanback.graphics.BoundsRule
16 android.support.percent.PercentFrameLayout
16 android.support.percent.PercentRelativeLayout
16 android.support.v4.content.WakefulBroadcastReceiver
16 android.support.v4.text.TextUtilsCompat
16 android.support.v4.view.accessibility.AccessibilityEventCompat
14 android.support.v17.leanback.app.DetailsFragment
14 android.support.v17.leanback.app.DetailsSupportFragment
14 android.support.v4.content.pm.ShortcutManagerCompat
11 android.support.v17.leanback.app.DetailsFragmentBackgroundController
11 android.support.v17.leanback.app.DetailsSupportFragmentBackgroundController
11 android.support.v4.accessibilityservice.AccessibilityServiceInfoCompat
11 android.support.transition.ChangeBounds
11 android.support.transition.Fade
11 android.support.v4.content.res.ResourcesCompat
11 android.support.v4.view.ViewGroupCompat
10 android.support.percent.PercentRelativeLayout.LayoutParams
10 android.support.v13.app.FragmentCompat
10 android.support.v17.leanback.app.VerticalGridFragment
10 android.support.v17.leanback.app.VerticalGridSupportFragment
10 android.support.v17.leanback.widget.RecyclerViewParallax
9 android.support.v4.media.session.MediaSessionCompat.Callback
9 android.support.transition.Transition
8 android.support.v4.media.session.MediaControllerCompat
8 android.support.media.tv.Channel
8 android.support.percent.PercentLayoutHelper
8 android.support.v17.leanback.widget.VerticalGridView
7 android.support.v4.media.session.MediaSessionCompat
7 android.support.v4.media.MediaBrowserServiceCompat
7 android.support.v4.media.MediaBrowserServiceCompat.BrowserRoot
7 android.support.media.tv.TvContractCompat.RecordedPrograms
6 android.support.media.tv.Channel.Builder
6 android.support.v17.leanback.app.BrowseFragment
6 android.support.v17.leanback.app.BrowseSupportFragment
6 android.support.v4.app.NotificationCompat.MessagingStyle.Message
6 android.support.v4.view.ViewCompat
6 android.support.v4.app.NotificationCompat.Builder
6 android.support.percent.PercentFrameLayout.LayoutParams
6 android.support.v4.media.MediaBrowserCompat
5 android.support.v4.util.SimpleArrayMap
5 android.support.v4.view.ViewParentCompat
5 android.support.v7.app.ActionBarDrawerToggle
4 android.support.v4.media.session.MediaSessionCompat.QueueItem
4 android.support.transition.TransitionSet
4 android.support.v4.content.IntentCompat
4 android.support.v17.leanback.media.PlaybackControlGlue
4 android.support.v7.preference.Preference
4 android.support.v4.media.session.MediaControllerCompat.Callback
3 android.support.v4.app.FragmentManager
3 android.support.v4.app.NotificationCompat
3 android.support.v7.widget.LinearLayoutManager
3 android.support.v7.preference.PreferenceManager
3 android.support.percent.PercentLayoutHelper.PercentLayoutInfo
3 android.support.v4.content.ContextCompat
2 android.support.v17.leanback.widget.HorizontalGridView
2 android.support.media.tv.TvContractCompat.Channels
2 android.support.v4.view.InputDeviceCompat
2 android.support.v7.app.AppCompatDelegate
2 android.support.v4.media.session.MediaControllerCompat.TransportControls
1 android.support.v4.view.accessibility.AccessibilityNodeInfoCompat
<1 android.support.v4.app.Fragment
<1 android.support.v4.media.session.PlaybackStateCompat
<1 android.support.v4.view.MotionEventCompat
<1 android.support.v7.widget.RecyclerView
<1 android.support.v4.app.RemoteInputCompatBase

* 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%.