小编Ale*_*lly的帖子

在Android中Viewpager控制器的速度减慢

用android中的viewpager适配器有没有办法减慢滚动速度?


你知道,我一直在看这段代码.我无法弄清楚我错了什么.

try{ 
    Field mScroller = mPager.getClass().getDeclaredField("mScroller"); 
    mScroller.setAccessible(true); 
    Scroller scroll = new Scroller(cxt);
    Field scrollDuration = scroll.getClass().getDeclaredField("mDuration");
    scrollDuration.setAccessible(true);
    scrollDuration.set(scroll, 1000);
    mScroller.set(mPager, scroll);
}catch (Exception e){
    Toast.makeText(cxt, "something happened", Toast.LENGTH_LONG).show();
} 
Run Code Online (Sandbox Code Playgroud)

它没有改变什么,但没有例外发生?

android

102
推荐指数
6
解决办法
8万
查看次数

存储WebView以进行脱机浏览

加载页面后,强制Android将webview存储到媒体的最佳方法是什么?

更多细节:

  • 每个页面都将丰富的图像,脚本和样式.

  • 每页大约0.5到1兆字节.

  • 一旦调用OnFinishedLoading Override,它们将被保存.

  • 最好将其保存到SD卡,然后使用本地仓库将其打开备份.

不确定我是否应该只为webview使用sql数据库,或者采用每个视图并写出文件.

如果我做后者,那么最简单的方法是什么,所以我不必写一个完整的webcrawler来连接每个文件?

html html5 android webview android-webview

9
推荐指数
1
解决办法
9690
查看次数

使用资产时Android WebView内存泄漏

我最近注意到,当我从文件(使用资源或本地目录)加载基于代码的webview时,一旦调用destroy()方法,WebView将泄漏内存.我已将其缩小到引用问题.程序/ webview会复制原始视图并丢失JNI表中的引用 - 这最终会导致程序在512个条目后崩溃.

我已经看过这篇文章了,但是非泄漏的webview修复似乎不适用于资产或外部文件夹中的HTML.

WebView中的内存泄漏

当应用程序完全基于服务器时,该问题不存在; 但是,我需要应用程序能够"同步"数据并使用这些视图更新脱机存储库.

更多信息:我已将网页视图放入ViewPager中以允许滚动.这个问题在3.2.4/1中不存在,但已出现在4.0.3中.我收到了很多JNI警告,(找不到条目)并且在视图被销毁后它们仍然存在.我通过hprof看了它,我注意到HTML在丢失的变量中保留了残余.

任何有关如何纠正这种行为的意见将不胜感激.

编辑:

崩溃的具体细节

Failed adding to JNI local ref table (has 512 entries)
"Thread-375" prio=5 tid=15 RUNNABLE
| group="main" sCount=0 dsCount=0 obj=0x41504a90 self=0x1a9cf80
| sysTid=10314 nice=0 sched=0/0 cgrp=default handle=27159240
| schedstat=( 455083000 66745000 774 ) utm=30 stm=15 core=3

at android.content.res.AssetManager.readAsset(Native Method)
at android.content.res.AssetManager.access$700(AssetManager.java:35)
at android.content.res.AssetManager$AssetInputStream.read(AssetManager.java:573)
at dalvik.system.NativeStart.run(Native Method)
Run Code Online (Sandbox Code Playgroud)

更新:

要解决此问题,您必须从SD卡或其他一些存储机制加载.加载Javascript文件时,该错误是永久性的,我不知道它是否已在Chrome中修复,但在最新的操作系统中似乎没有在浏览器中修复.

html java html5 android webview

6
推荐指数
1
解决办法
3007
查看次数

第一次布局后无法获取viewWidth(ViewPager中的WebView)

稍后我将更新一个完整的教程,介绍如何实现WebView内部a ViewPager,但是我得到一个非常奇怪的问题,我不明白如何修复.

以下是我正在运行的实现......

XML:

     <android.support.v4.view.ViewPager
     android:id="@+id/viewpager"
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
     android:layout_above="@+id/lastLoginText"
     android:layout_alignParentLeft="true"
     android:layout_alignParentRight="true"
     android:layout_alignParentTop="true"
     android:layout_below="@+id/PreferencesButton" >

     </android.support.v4.view.ViewPager>
Run Code Online (Sandbox Code Playgroud)

ViewPager实例化对象:

((ViewPager) collection).removeAllViews();
WebView a = webview[position];
((ViewPager) collection).addView(a);
Run Code Online (Sandbox Code Playgroud)

Webview是在单独的(InitWebViews)中设置的

    webview[0] = new WebView(this.getApplicationContext());
    webview[0].loadUrl("file:///android_asset/test.html");
    webview[1] = new WebView(this.getApplicationContext());
    webview[1].loadUrl("file:///android_asset/test.html");
    webview[2] = new WebView(this.getApplicationContext());
    webview[2].loadUrl("file:///android_asset/test.html");
Run Code Online (Sandbox Code Playgroud)

任何想法为什么会这样,或者我如何强迫它viewWidth成为1280?或者我启动WebViews 的方式还有其他问题吗?

android view android-layout android-webview android-viewpager

5
推荐指数
0
解决办法
1828
查看次数