Tag: 安卓

如何更新TileOverlay没有闪烁?

我有一些dynamic瓷砖内容显示在地图上(具体来说,天气图像 – 雷达,卫星,温度等)。 我正在使用适用于Android v2的Google Maps API。 我遇到的问题是显然更新平铺图像的唯一方法(即当新数据到达时,或者帧在时间推移animation中前进时)是调用TileOverlay.clearImageCache。 不幸的是,当我这样做的时候,瓷砖叠加层闪烁了片刻。 这是因为clearImageCache会立即从显示中删除现有的平铺图像,但在解码和显示新的平铺图像之前会有一段延迟。 我正在使用自定义的TileProvidercaching平铺图像,而不是每次从服务器获取它们。 但是,即使只是提供caching切片(也就是说我的TileProvider.getTile实现不会造成太大的延迟),仍然有足够的延迟,用户可以看到闪烁。 有谁知道一种方法来避免这种闪烁? 有什么办法可以双重缓冲瓦片覆盖? 我试图用两个贴在地图上的TileOverlay对其进行双缓冲,其中一个是不可见的。 但是,即使在我调用clearImageCache之后,不可见的TileOverlay也不会开始从TileProvider中获取任何图块。

如何使用JACK编译器执行缩小和混淆?

Google已经发布了Android Studio 2.1的Android开发者的新JACK编译器的testing版本。 我的问题是,我们如何使用JACK为APK启用混淆处理? 下面的文章说JACK在本地执行混淆,并且不需要Proguard: 用Jack编译 而下面的文章说JACK使用Proguardconfiguration文件(即.pro文件)来执行模糊处理: 实验新的Android工具链 – 杰克和吉尔 。 它也是这样说的 在这个过程中,Jack还处理任何请求的代码缩小 (缩小和/或混淆 )。 这到底是什么意思? 我们是否必须使用minifyEnabled选项并定义包含Proguard选项的.pro文件? 综上所述: 我们究竟如何使用JACK启用混淆? 我们可以绕过Proguard的使用,还是Proguard在混淆处理中扮演一个事实上的angular色,即使我们用JACK编译? JACK目前是否支持混淆,是否可以在Android Studio的稳定(即非beta / canary)版本中使用? 注意: 我已经提到以下post: 如何在android studio中启用Jack(Java Android编译器工具包) 。 错误:Jack需要支持Java 8语言function 。 更多参考文献 杰克和吉尔在X86上的介绍 。 杰克和吉尔的黑暗面 。 Java 8语言特性 。 更新: Matt Insko的答案是有帮助的,但是我想要更多的细节,以及更精确,规范的答案。

Google地图精简版模式会在RecyclerView中引起混乱

我有一个RecyclerView这是一个项目的垂直滚动列表。 每个列表项都包含Lite模式下的Google Maps V2 MapView。 我正在利用这个新function,它返回位图,而不是一个完整的地图作为Google Static Maps API的替代品。 MapView要求您从父Activity / Fragment的相应方法调用onCreate() , onResume() , onPause() , onDestroy()等。 从RecyclerView.Adapter和/或RecyclerView.ViewHolder哪里可以调用这些地方? 我如何清理回收的MapViews,使内存不泄漏,同时保持清单免费? 谷歌说精简模式可以在列表中使用: …'精简模式'的地图选项,非常适合您想要提供一些较小的地图的情况下,或者一个非常小的地图,以至于有意义的交互是不切实际的,比如列表中的缩略图。 ListItem.xml <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent"> <com.google.android.gms.maps.MapView android:id="@+id/mapImageView" xmlns:map="http://schemas.android.com/apk/res-auto" android:layout_width="80dp" android:layout_height="100dp" map:liteMode="true" map:mapType="normal" map:cameraZoom="15"/> <!– … –> </RelativeLayout> RecyclerView.Adapter和ViewHolder public class NearbyStopsAdapter extends RecyclerView.Adapter<NearbyStopsAdapter.ViewHolder> { private final Context mContext; public class ViewHolder extends RecyclerView.ViewHolder […]

为什么一些Android手机导致我们的应用程序抛出java.lang.UnsatisfiedLinkError?

在市场上使用我们的应用的某些Android手机上,我们遇到了java.lang.UnsatisfiedLinkError 。 问题描述: static { System.loadLibrary("stlport_shared"); // C++ STL System.loadLibrary("lib2"); System.loadLibrary("lib3"); } 使用java.lang.UnsatisfiedLinkError将System.loadLibrary()行中的应用程序崩溃。 java.lang.UnsatisfiedLinkError: Couldn't load stlport_shared from loader dalvik.system.PathClassLoader[dexPath=/data/app/app_id-2.apk,libraryPath=/data/app-lib/app_id-2]: findLibrary returned null 解决scheme 我们开始在所有安装上运行一些自定义诊断程序,以检查每个lib是否在/data/data/app_id/lib文件夹中解压缩。 PackageManager m = context.getPackageManager(); String s = context.getPackageName(); PackageInfo p; p = m.getPackageInfo(s, 0); s = p.applicationInfo.dataDir; File appDir = new File(s); long freeSpace = appDir.getFreeSpace(); File[] appDirList = appDir.listFiles(); […]

如何从Google-Analytics迁移到Firebase-Analytics?

背景 在最近几个月中,Google发布了一个名为“ Firebase Analytics ”的新分析方法。 问题 由于该应用程序已经有谷歌分析,我发现一些障碍,我不明白如何最好地处理。 问题 以前,“newTracker”函数需要一个property-id。 现在我没有看到它。 这是否意味着它不需要? 此前,“enableAdvertisingIdCollection”也可用于收集广告信息。 我无法在新的API中find它。 是否自动收集? “setDryRun”可以禁止发送数据到服务器,现在我没有看到它。 这是否意味着它是自动的这种方式debugging版本的应用程序? 所有function都写入日志吗? 以前,我可以跟踪一个“屏幕”: public void setScreenName(String name) { mGoogleAnalyticsTracker.setScreenName(name); mGoogleAnalyticsTracker.send(new HitBuilders.ScreenViewBuilder().build()); } 现在我没有看到它,但是正如我读过的那样,我认为它是自动的,所以它无论如何都会发送活动生命周期的数据。 这是真的吗? 可能是最重要的事情:以前我可以使用类别,动作,标签和价值进行跟踪: public void trackEvent(final String category, final String action, final String label, final long value) { mGoogleAnalyticsTracker.send(new HitBuilders.EventBuilder() .setCategory(category).setAction(action) .setLabel(label).setValue(value).build()); } 现在我看到一个完全不同的方式来跟踪事件(“自定义事件”),使用捆绑 。 例如: Bundle bundle […]

如何在Android中添加google-services.json?

文件google-services.json从模块根文件夹中丢失。 没有它,Google Quickstart插件就无法运行。

如何解除Android中的系统对话框?

我不得不解雇这个系统的Dialog (下面附上)。 我得到这个值,但我不能以服务不在活动中以编程方式解雇它。 我的问题是: 可以解雇吗? 如果是,请帮助或指导我如何实现它。

什么是“此方法已被弃用”是指应用程序开发人员

我看到不less好的旧有用的方法 ,甚至整个课程都被“弃用和废弃”了。 但是用来调用这些方法的代码仍然可以正常工作。 那么,作为一个Android应用程序开发人员,这对我意味着什么呢? 只要我想要继续使用此方法,因为更新的SDK将始终保持向后兼容。 只要我为较旧的目标(例如API 8)构build,它就会工作,但是如果从API 14开始构build,编译器将拒绝完成构build。 (1)和(2) 其他? 当没有提供替代方法时,这是特别令人困惑的,例如WebView.PictureListener.html#onNewPicture 。

Android Studio不能在安装后启动

我刚刚下载了今天发布的新的Android Studio IDE,并安装了它。 当我双击图标启动它时,什么都不会发生。 我已经试过了它的每个快捷方式,以及安装文件夹中的.exe。 我也尝试重新启动机器,卸载/重新启动,并安装到一个文件夹位置没有空格。 有人知道为什么Android Studio无法启动?

如何在安装时启动android服务

我有一个设备pipe理应用程序,本质上作为一个服务在后台启动运行。 我想在安装后立即启动这个应用程序。 我如何做到这一点?