我有一个活动,它通过滑行在 ImageViews 中加载图片。这是我的滑行代码示例:
Glide.with(ImageVOne.getContext())
.load(geoInfo.getPhotoUrl1())
.skipMemoryCache(true)
.priority(Priority.NORMAL)
.into(ImageVOne);
Run Code Online (Sandbox Code Playgroud)
我加载了 1 到 35 张图片,每张图片应该在 150ko 和 250ko 之间。我不能减少那个。
这个活动可以在一个会话中从主活动访问多次,每次加载不同的图片。例如,第一次是华盛顿的照片,然后是伦敦的照片等等。
我的问题是每次启动加载图片的活动时,内存的使用都会增加很多:

我可以启动 3 到 5 次活动,然后应用程序崩溃。错误信息是
java.lang.OutOfMemoryError: Failed to allocate a 1411340 byte allocation with 1126320 free bytes and 1099KB until OOM
Run Code Online (Sandbox Code Playgroud)
我读过关于内存泄漏的帖子,但我认为 Glide 会避免这个问题。我的图片活动在另一个活动开始之前完成,但分配给我的应用程序的内存似乎没有下降。我还在android:noHistory="true"清单中添加了我的图片活动,但它没有改变任何东西。
我android:largeHeap="true"在我的清单中添加了但它只是推迟了我的问题(我可以启动图片活动大约 10 到 15 次)并且在应用程序崩溃之前我的图像视图中没有加载很多图片,所以这对我来说不是一个好的解决方案。
我还尝试在使用 glide 时添加 .skipMemoryCache (true) 但我没有注意到任何变化。
我想每次从图片活动转到主要活动时,我的“内存使用”应该会减少,然后当我用新图片再次开始我的图片活动时会增加。但从我在蓝色图表上看到的情况来看,它几乎只会增加。你明白我应该怎么做吗?
我刚刚制作了一个firebase云功能:
exports.deleteAfterSevenDays = functions.https.onRequest((req, res) => {...
Run Code Online (Sandbox Code Playgroud)
我部署了该函数并获得了一个函数URL.当我从浏览器请求此URL时,我收到以下消息:
"错误:禁止您的客户端无权从此服务器获取URL/200."
我刚刚更新到firebase Blaze计划,因为我认为Spark计划有局限性,但它仍然无效.
在我的firebase云功能日志中写着"函数执行花了572毫秒,完成状态代码:302".
我的cron作业"由于执行失败太多而自动被禁用".
你看到了什么问题吗?
谢谢,
亚历克斯
我在我的应用程序中使用facebook登录.一旦用户登录,我就可以获得他们的基本Facebook信息,例如显示名称,电子邮件和照片网址.我想得到他们的facebook好友列表.我想我可以"直接"使用firebase,但我不记得我怎么也找不到任何关于它的信息.我想当人们使用facebook登录时,我首先要告诉Firebase获取好友列表,然后我可以使用firebaseAuth.getCurrentUser().getFriendList()这样的方法来获取它.
你知道怎么用firebaseAuth获取facebook好友列表吗?
谢谢,
亚历克斯
android facebook-graph-api firebase facebook-friends firebase-authentication
我想用德语和日语翻译我的应用程序.我已经阅读了教程,但是我找不到我应该在我的应用程序的信息选项卡中查看的Base Internationalization框.我的信息选项卡中的主要部分是"自定义IOS目标属性","文档类型","导出的UTI"......没有任何关于本地化的信息.
我想我必须在"自定义IOS目标属性"中管理它,但我不知道如何.在那里,我添加了"Localizations"键和"English","German"和"Japanese"值,我还有一个关键的"Localization native development region",其值为"en".
然后我在Base.lproj中添加了我的Localizable.strings文件,但是在File Inspector中我只能看到"Base"和"English"作为Localization,没有关于德语和日语的内容.
我还注意到,当我进入编辑器>添加本地化时,我无法选择任何语言.
你看到了什么问题吗?
谢谢,
亚历克斯
我需要在活动中显示两个具有两个不同位置的 MapFragment。在我的 XML 文件中,我有两个名为“map”和“map_two”的 MapFragment,在 Java 中,我在 onCreate 中的代码是:
com.google.android.gms.maps.MapFragment mapFragment = (MapFragment) getFragmentManager().findFragmentById(map);
mapCount = 1;
mapFragment.getMapAsync(this);
com.google.android.gms.maps.MapFragment mapFragmentTwo = (MapFragment) getFragmentManager().findFragmentById(map_two);
mapCount = 2;
mapFragmentTwo.getMapAsync(this);
Run Code Online (Sandbox Code Playgroud)
然后我覆盖 onMapReady :
@Override
public void onMapReady(GoogleMap googleMap) {
if (mapCount == 1){
mMap = googleMap;
LatLng vannes = new LatLng(47.66, -2.75);
mMap.addMarker(new MarkerOptions().position(vannes).title("Vannes"));
mMap.moveCamera(CameraUpdateFactory.newLatLng(vannes));
} else if (mapCount == 2){
mMap = googleMap;
LatLng bordeaux = new LatLng(44.833328, -0.56667);
mMap.addMarker(new MarkerOptions().position(bordeaux).title("Bordeaux"));
mMap.moveCamera(CameraUpdateFactory.newLatLng(bordeaux));
}
}
Run Code Online (Sandbox Code Playgroud)
我的问题是两张地图显示相同的位置,而我想显示两个不同的位置。你知道怎么做吗?
谢谢,
亚历克斯
android ×3
firebase ×2
google-maps ×1
ios ×1
localization ×1
mapfragment ×1
memory-leaks ×1
xcode ×1
xcode8 ×1